Qt可視化大屏布局的實現(xiàn)
科技大屏現(xiàn)在非常流行,這里分享一下某個項目的大屏布局(忘了源碼是哪個博主的了)
展示
這個界面整體是垂直布局,分為兩個部分,標(biāo)題是一個部分,然后下面的整體是一個layout布局,為另外一部分。
layout布局水平方向分為左中右,比例:2:3:2,左邊是垂直布局,兩個模塊,大小比例2:1,中間是1:2:1,右邊是.3:1:2.都是以卡片的形式區(qū)分開,我們往里面填東西就行了,卡片是重寫paintEvent畫的。
布局代碼
QVBoxLayout *layoutMain = new QVBoxLayout(this);//創(chuàng)建一個垂直布局(QVBoxLayout),并將其設(shè)置為當(dāng)前窗口或小部件(this)的布局。 layoutMain->setMargin(0);//設(shè)置主布局的外邊距為0。 layoutMain->setSpacing(0);//設(shè)置主布局中項之間的間距為0 //左 QVBoxLayout *layoutLeft = new QVBoxLayout(); layoutLeft->setSpacing(10);//設(shè)置左側(cè)布局中項之間的間距為10。 layoutLeft->setMargin(0);//設(shè)置左側(cè)布局的外邊距為0。 //在左側(cè)布局中添加兩個小部件,并為它們設(shè)置權(quán)重。這決定了它們在布局中的大小比例。 layoutLeft->addWidget(new test(), 2);// layoutLeft->addWidget(new test(), 1);// //中 QVBoxLayout *layoutCenter = new QVBoxLayout(); layoutCenter->setSpacing(10); layoutCenter->setMargin(0); layoutCenter->addWidget(new test(), 1); layoutCenter->addWidget(m_pDynamicsEarth, 2);//給地球2/4的控件 layoutCenter->addWidget(new test(), 1); //右 QVBoxLayout *layoutRight = new QVBoxLayout(); layoutRight->setSpacing(10); layoutRight->setMargin(0); layoutRight->addWidget(new test(), 3); layoutRight->addWidget(new test(), 1); layoutRight->addWidget(new test(), 2); //水平 分為3個部分 QHBoxLayout *layoutContent = new QHBoxLayout(); layoutContent->setMargin(10); layoutContent->setSpacing(40); layoutContent->addLayout(layoutLeft, 2); layoutContent->addLayout(layoutCenter, 3); layoutContent->addLayout(layoutRight, 2); //添加title layoutMain->addWidget(m_pTitle);//Title //添加layout layoutMain->addLayout(layoutContent, 1);
各位可以參考這個布局方式進(jìn)行設(shè)計。
到此這篇關(guān)于Qt可視化大屏布局的實現(xiàn)的文章就介紹到這了,更多相關(guān)Qt可視化大屏布局內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ubuntu20.04安裝使用jsoncpp、json-c庫的方法實例
這篇文章主要給大家介紹了關(guān)于Ubuntu20.04安裝使用jsoncpp、json-c庫的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作就有一定的參考借鑒價值,需要的朋友可以參考下2024-04-04