基於Qt的收銀點餐系統之UI的基本實現(二)

2021-08-09 09:54:02 字數 2437 閱讀 5177

實現結果:

在這個例子中,我將劃分和巢狀關係組織如下:

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系統自帶的標題欄和狀態列等,因...