Qt 組裝豐富的積木

2021-08-11 02:21:23 字數 1743 閱讀 8008

把兩個視窗部件封裝成乙個新的元件,將這個新的組建填充到4*4的網格布局裡,並且最上方有quit按鈕。

#include

"mainwindow.h"

#include

#include

#include

#include

#include

#include

#include

class lcdrange:public qwidget

;lcdrange::lcdrange(qwidget *

parent):qwidget(parent)

class mywidget:public qwidget

;mywidget::mywidget(qwidget *

parent):qwidget(parent)

qvboxlayout *layout =

new qvboxlayout;

layout->addwidget(quit);

layout->addlayout(grid);

setlayout(layout);

}int main(int argc, char *argv)

結果截圖:

每乙個元件都是單獨的,比如(0,0)位置的數值改變不影響其他區域。

遇到問題:不顯示4*4元件。

解決方法:在lcdrange類中建立好slider和lcd後就應該將它們放在qvboxlayout布局中,即垂直布局中。這樣,在新建lcdrange類的物件時,每乙個物件都有slider和lcd,**如下。

qvboxlayout *part =

new qvboxlayout;

part->addwidget(lcd);

part->addwidget(slider);

setlayout(part);

如果缺少這一步,最後什麼都不顯示:

所以,如果同時存在不只乙個視窗部件(例如兩個按鈕enter,quit)那麼一定要將它們封裝到qvboxlayout垂直布局中,才可以同時顯示,否則顯示後面的那乙個。

int main(int argc, char *argv)

結果截圖:

在每個元件中顯示不同的數或者隨機數。

#define random(x) (rand()%x)

qslider *slider = new qslider(qt::horizontal);

slider->setrange(0,99);

connect(slider,signal(valuechanged(int)),lcd,slot(display(int)));

slider->setvalue(random(99));

結果截圖:

QT學習6 組裝豐富的積木!

應用程式的廣泛資源,比如預設字型和游標 include 經典的圖形使用者介面按鈕,qwidget,可以顯示一段文字或qpixmap include qt中的字型 include 顧名思義,像lcd一樣顯示數字的widget吧!include 滑動條 include 豎直布局 include 網格布局...

Qt4 組裝豐富的積木

這個例子顯示了如何把兩個視窗部件封裝成乙個新的元件和使用許多視窗部件是多麼的容易。首先,我們使用乙個自定義的視窗部件作為乙個子視窗部件。include include include include include include include include lcdrange類 class lc...

詳解 Qt 中各種豐富容器類

qt作為一款優秀的型別庫,當然不會沒考慮這些。qt提供了大量的 容器類 專門用於以某種方式儲存大量內容,qstring其實只是這大量的容器類的一種。ad 陣列 鍊錶 雜湊 各種容器類,在c 裡做大型程式時,少不了要與陣列 鍊錶等資料結構打交道。就是最簡單的字串也常常讓頭痛萬分,qt中有qstring...