Qt自定義組件方法


Qt自定義組件方法

  該案例要實現一個如下圖組件,右側進度條會隨着SpinBox數值的改變而做出相應變化。功能簡單,主要是通過一個簡單例子掌握Qt組件的實現方法。

    步驟1:UI設計器中,在需要放置自定義組件的位置放入Widget容器widge,並設置號Widget在UI界面的布局;

  步驟2:如下如,添加新文件-->選擇C++ Class,點擊chose按鈕,進入下一界面,輸出Class name,選擇Base class為QWidget,下一步-->完成。

      

  步驟3:在myWidget.cpp類中添加如下代碼:

 1 //包含需要用到的組件
 2 #include <QSpinBox>
 3 #include <QProgressBar>
 4 #include <QHBoxLayout>
 5 
 6 //構造函數中添加如下
 7     QSpinBox *spin = new QSpinBox(this);
 8     QProgressBar *progress = new QProgressBar(this);
 9     spin->setRange(0,100);
10     progress->setRange(0,100);
11 
12     QHBoxLayout *hLayout = new QHBoxLayout(this);
13     hLayout->addWidget(spin);
14     hLayout->addWidget(progress);
15 
16     connect(spin,SIGNAL(valueChanged(int)),progress,SLOT(setValue(int)));
View Code

  步驟4:在UI設計界面,右鍵點擊在步驟1中添加的Widget容器,彈出右鍵菜單,選擇“提升為”彈出如下圖窗口:

    然后在提升的類名稱中輸入“myWidget”(步驟2中新添加類的名稱,即自定義組件的對象名稱),頭文件自動補全,勾選全局包含,點擊“添加”按鈕,點擊“提升”,在右側組件屬性窗口可以看出步驟1中添加的             widget組件的類名稱變為myWidget,如下圖:

    編譯運行軟件效果:

   

  以后在需要用到該自定義組件的地方,只需像步驟4中那樣,右鍵菜單->提升為->選擇“myWidget”即可。

  可以使用該方法實現自定組件,對Qt提供的組件進行功能擴充或者將不同組件組成一個組件,實現組件功能的擴展。

  最后,需要注意的是,被提升的組件和自定義組件必須為相同的基類,如該例中UI界面中被提升的widget組件基類和自定義組件基類都為QWidget類。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM