實現結果:
在這個例子中,我將劃分和巢狀關係組織如下:
1.對於主視窗,被分為了三個部分:左側category、中間goodslist、右側info;
2.對於左側部分和中間部分,較為簡單,直接將label、textbrowser等子控制項新增入相應的布局管理器後,父控制項將該布局管理器設定為其布局就可以實現;
3.對於右側,從上到下又分為三個部分:label、button群、spinbox群。對於後兩個部分,再次使用「控制項將含有子控制項的布局管理器設為其布局」的方式實現。
1.goodslist.h
#ifndef goodslist_h
#define goodslist_h
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
class
goodslist : public
qmainwindow
; qgroupbox *categorygroupbox;
qscrollarea *goodslistscrollarea;
qgroupbox *infogroupbox;
qlistwidget *categorylistwidget;
qtextbrowser *goodstextbrowser[numgoods];
qlabel *pricelabel;
qpushbutton *operationbutton[numbuttons];
qspinbox *countspinbox[numgoods];
qwidget *buttonswidget;
qwidget *countwidget;
};#endif // goodslist_h
2.goodslist.cpp檔案
#include "goodslist.h"
#include "qstring"
goodslist::goodslist(qwidget *parent) :
qmainwindow(parent)
void goodslist::createcategory()
void goodslist::creategoodslist()
goodslistscrollarea->setlayout(goodslistlayout);
}void goodslist::createinfo()
buttonswidget->setlayout(buttonslayout);
//組裝購買商品資訊
countwidget = new qwidget;
qgridlayout *countlayout = new qgridlayout;
for(int i = 0; i < 5; i++)
countwidget->setlayout(countlayout);
//info部分的總布局
qvboxlayout *infolayout = new qvboxlayout;
infolayout->addwidget(pricelabel);
infolayout->addwidget(buttonswidget);
infolayout->addwidget(countwidget);
infogroupbox = new qgroupbox(tr("info"));
infogroupbox->setlayout(infolayout);
}//主視窗的布局
void goodslist::createwholelayout()
goodslist::~goodslist()
1.主視窗布局時,需要設定setcentralwidget()
首先,不能直接在對主視窗設定layout,需要在主視窗裡面新增乙個「主」widget,並setcentralwidget(); 然後,將所有的東西放在這乙個widget中。
//這部分要有,否則主視窗不會有顯示
qwidget *widget = new qwidget(this) ;
widget->setlayout(wholelayout);
this->setcentralwidget(widget);
setwindowtitle(tr("收銀點餐系統"));
基於HTTP伺服器的點餐系統
模組介紹 專案原始碼 專案流程圖 歸納總結 未來規劃 基於http伺服器的點餐系統 通過 http 伺服器 基於c 設計出客戶端與伺服器互動式的點餐系統,使用者可以通過網頁的形式對伺服器傳送資訊,當伺服器接收到資訊後根據客戶端傳送的請求返回響應內容。linux 伺服器 g 編譯器 vim 編輯器 g...
關於Qt的UI的一點理解
許久不用qt,突然對qt的ui程式設計模式有些不解,概念上有些混亂,一番查詢之後,基本又搞明白了,記錄一下。使用qt designer可以視覺化布局你的窗體和元件,這個布局檔案可以直接生成乙個ui類,供控制項使用。但是在 中,見到一句ui.setupui this 讓我疑惑了,究竟最終彈出的視窗是這...
Qt之統一的UI介面格式基調,漂亮的UI介面
最近一直在忙,忙工作,忙私活 也很久沒有寫部落格了 今天主要談談qt ui介面統一樣式 格式基調 的問題 例如在window系統上,幾乎所有的視窗都有標題欄和狀態列以及 部件,而且每乙個標題欄和狀態列以及 部件樣式都保持一致的 但是在實際開發中我們又不想使用window系統自帶的標題欄和狀態列等,因...