QT入門-在窗體中添加按鈕以及對窗體進行設置


 

1) QT中,按鈕類叫做QPushButton。在mywidget.h的MyWidget類的私有變量中:

QPushButton b1; 或者QPushButton* b2;按住F4可以直接跳到.cpp文件。

2) 按鈕初始化:在窗口類的構造函數里初始化即可。b2=new QPushButton(…)選中按F1可以查看構造函數以及其參數。

QPushButton(const QIcon &icon, const QString &text, QWidget *parent = nullptr)//圖標以及……

QPushButton(const QString &text, QWidget *parent = nullptr)//按鈕上顯示的內容以及…

QPushButton(QWidget *parent = nullptr)//父窗口

 

至於修改內容的函數,需要從父類(QAbstractButton)里找。即void setText(const QString& text);

因此找不到相應的成員函數實現其功能的時候,可以從父類里找一下。

b2->setText(“Hello QT”);

b2=new QPushButton(“Hello QT”);

b2->show();

想要的效果是把按鈕顯示到窗口里(按鈕實際上也是窗口?),但這時候按鈕是獨立顯示出來的。如果窗口需要依附於另一個窗口,就應該給該窗口指定父類,這可以在構造函數內實現。因為此處實例化按鈕是在MyWidget構造函數內實現的,所以父類指針是this,即b2=new QPushButton(“Hello QT”,this);

或者:QPushButton b1; b1.setParent(this);

注意,如果指定了父親的話,就不用調用show函數了,因為直接在父類窗口顯示了。

3) 兩個按鈕默認在同一個位置的話會發生覆蓋,需要改變按鈕的位置,相當於移動。

b1.move(x,y):移動到(x,y)

QT中窗體的坐標系:原點為左上角,x向右遞增,y向下遞增。

4) QT內存自動回收機制:無需delete

但適用范圍有限:

i)適用於從QObject派生的類。

派生分為直接派生和間接派生(子孫)。

ii)指定父類(父親析構前先析構孩子)。

5)窗口大小

b1.size()獲取大小,b1.resize()重新設置大小。如果不知道參數怎么寫,按F1無反應,可以隨便寫一個比如b1.resize(1)再按F1即可。

6)設置窗口標題可以在類內部如this->setWindowTitle(“FUCK!”);

或者在main函數里:w. setWindowTitle(“FUCK!”);

7)設置固定寬度or高度:this->setFixedSize(a,b)…

8)setWindowIcon可以設置圖標,QString的路徑不能有中文。

 


免責聲明!

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



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