翻譯|使用教程|編輯:龔雪|2024-11-20 11:09:39.263|閱讀 97 次
概述:本文主要介紹展示如何使用為窗口實(shí)現(xiàn)流程布局,歡迎下載最新版組件體驗(yàn)~
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Qt 是目前最先進(jìn)、最完整的跨平臺(tái)C++開發(fā)工具。它不僅完全實(shí)現(xiàn)了一次編寫,所有平臺(tái)無差別運(yùn)行,更提供了幾乎所有開發(fā)過程中需要用到的工具。如今,Qt已被運(yùn)用于超過70個(gè)行業(yè)、數(shù)千家企業(yè),支持?jǐn)?shù)百萬設(shè)備及應(yīng)用。
本文將展示如何為不同的窗口大小排列小部件。
流程布局實(shí)現(xiàn)了處理不同窗口大小的布局,小部件的位置取決于應(yīng)用程序窗口的寬度。
Flowlayout類主要使用和,而Window類使用和。
Qt技術(shù)交流群:166830288 歡迎一起進(jìn)群討論
要從中運(yùn)行示例,請(qǐng)打開Welcome模式并從Examples中選擇示例。
FlowLayout類繼承了,它是一個(gè)自定義布局類,可以水平和垂直地排列其子部件。
class FlowLayout : public QLayout { public: explicit FlowLayout(QWidget *parent, int margin = -1, int hSpacing = -1, int vSpacing = -1); explicit FlowLayout(int margin = -1, int hSpacing = -1, int vSpacing = -1); ~FlowLayout(); void addItem(QLayoutItem *item) override; int horizontalSpacing() const; int verticalSpacing() const; Qt::Orientations expandingDirections() const override; bool hasHeightForWidth() const override; int heightForWidth(int) const override; int count() const override; QLayoutItem *itemAt(int index) const override; QSize minimumSize() const override; void setGeometry(const QRect &rect) override; QSize sizeHint() const override; QLayoutItem *takeAt(int index) override; private: int doLayout(const QRect &rect, bool testOnly) const; int smartSpacing(QStyle::PixelMetric pm) const; QList<QLayoutItem *> itemList; int m_hSpace; int m_vSpace; };
我們重新實(shí)現(xiàn)了從QLayout繼承的函數(shù),這些函數(shù)將項(xiàng)目添加到布局中并處理它們的方向和幾何形狀。
我們還聲明了兩個(gè)私有方法:doLayout() 和 smartSpacing(),doLayout()對(duì)布局項(xiàng)進(jìn)行布局,而smartSpacing()函數(shù)計(jì)算它們之間的間距。
下期我們將繼續(xù)介紹FlowLayout類的實(shí)現(xiàn),敬請(qǐng)關(guān)注哦......
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都網(wǎng)