在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Qt圖形編程基礎之:Qt/Embedded開發(fā)入門

            Qt圖形編程基礎之:Qt/Embedded開發(fā)入門

            作者: 時間:2013-09-13 來源:網(wǎng)絡 收藏

            本文引用地址:http://www.biyoush.com/article/257103.htm

            (1)內(nèi)建布局管理器

            Qt提供了3種用于布局管理的類:QHBoxLayout、QVBox-
            Layout和QGridLayout。

            n QHBoxLayout布局管理把窗體按照水平方向從左至右排成一行。

            n QVBoxLayout布局管理把窗體按照垂直方向從上至下排成一列。

            n QGridLayout布局管理以網(wǎng)格的方式來排列窗體,一個窗體可以占據(jù)多個網(wǎng)格。

            它們的示例如圖12.12所示。

            在多數(shù)情況下,Qt的布局管理器為其管理的部件挑選一個最適合的尺寸以便窗口能夠平滑地縮放。如果其缺省值不合適,開發(fā)者可以使用以下機制微調(diào)布局:

            n 設置一個最小尺寸、一個最大尺寸,或者為一些子部件設置固定的大小。

            圖12.123種布局管理類示意圖

            n 設置一些延伸項目或間隔項目,延伸或間隔項目會填充空余的布局空間。

            n 改變子部件的尺寸策略。通過調(diào)用QWidget::setSizePolicy(),程序員可以仔細調(diào)整子部件的縮放行為。子部件可以設置為擴展、收縮、保持原大小等狀態(tài)。

            n 改變子部件的建議大小。QWidget::sizeHint()和QWidget::minimumSizeHint()會根據(jù)內(nèi)容返回部件的首選尺寸和最小首選尺寸。內(nèi)建部件提供了合適的重新實現(xiàn)。

            n 設置延伸因子。延伸因子規(guī)定了子部件的相應增量,比如,2/3的可用空間分配給部件A而1/3分配給B。

            (2)布局嵌套。

            布局可以嵌套任意層。圖12.13顯示了一個對話框的兩種大小。

            圖12.13一個對話框的兩種大小

            這個對話框使用了3種布局:一個QVBoxLayout組合了按鈕,一個QHBoxLayout組合了國家列表和那組按鈕,一個QVBoxLayout組合了“Selectacountry”標簽和剩下的部件。一個延伸項目用來維護Cancel和Help按鈕間的距離。

            下面的代碼創(chuàng)建了對話框部件和布局:

            QVBoxLayout*buttonBox=newQVBoxLayout(6);

            buttonBox->addWidget(newQPushButton(OK,this));

            buttonBox->addWidget(newQPushButton(Cancel,this));

            buttonBox->addStretch(1);

            buttonBox->addWidget(newQPushButton(Help,this));

            QListBox*countryList=newQListBox(this);

            countryList->insertItem(Canada);

            /*...*/

            countryList->insertItem(UnitedStatesofAmerica);

            QHBoxLayout*middleBox=newQHBoxLayout(11);

            middleBox->addWidget(countyList);

            middleBox->addLayout(buttonBox);

            QVBoxLayout*topLevelBox=newQVBoxLayout(this,6,11);

            topLevelBox->addWidget(newQLabel(Selectacountry,this));

            topLevelBox->addLayout(middleBox);

            可以看到,Qt讓布局變得非常容易。

            (3)自定義布局。

            通過子類化QLayout,開發(fā)者可以定義自己的布局管理器。和Qt一起提供的customlayout樣例展示了3個自定義布局管理器:BorderLayout、CardLayout和SimpleFlow,程序員可以使用并修改它們。

            Qt還包括QSplitter,是一個最終用戶可以操縱的分離器。某些情況下,QSplitter可能比布局管理器更為可取。

            為了完全控制,重新實現(xiàn)每個子部件的QWidget::resizeEvent()并調(diào)用QWidget::setGeometry(),就可以在一個部件中手動地實現(xiàn)布局。

            2.圖形設計器

            Qt圖形設計器是一個具有可視化用戶接口的設計工具。Qt的應用程序可以完全用源代碼來編寫,或者使用Qt圖形設計器來加速開發(fā)工作。啟動Qt圖形設計器的方法是:

            cdqt-2.3.2/bin

            ./designer

            這樣就可以啟動一個圖形化的設計界面,如圖12.14所示。

            圖12.14Qt圖形設計器界面

            linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

            linux相關文章:linux教程




            評論


            相關推薦

            技術專區(qū)

            關閉