日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > 綜合技術(shù) > Qt之表單布局(QFormLayout)

Qt之表單布局(QFormLayout)

來源:程序員人生   發(fā)布時間:2016-06-07 17:39:20 閱讀次數(shù):6854次

簡述

QFormLayout管理輸入型控件和關(guān)聯(lián)的標簽組成的那些Form表單。

QFormLayout是1個方便的布局類,其中的控件以兩列的情勢被布局在表單中。左列包括標簽,右列包括輸入控件,例如:QLineEdit、QSpinBox等。

  • 簡述
  • 使用
  • 經(jīng)常使用接口
  • 總結(jié)

使用

我們可以通過addRow(const QString &labelText, QWidget *field)來創(chuàng)建1個帶有給定文本的QLabel及QWidget控件行,它們可以自動的設(shè)置為火伴關(guān)系。

QFormLayout *pLayout = new QFormLayout(); pLayout->addRow(QStringLiteral("用戶名:"), pUserLineEdit); pLayout->addRow(QStringLiteral("密碼:"), pPasswordLineEdit); pLayout->addRow(QStringLiteral("驗證碼:"), pVerifyLineEdit); pLayout->setSpacing(10); pLayout->setMargin(10); setLayout(pLayout);

使用QGridLayout格柵布局編寫的比較:

QLabel *pUserNameLabel = new QLabel(this); QLabel *pPasswordLabel = new QLabel(this); QLabel *pVerifyLabel = new QLabel(this); pUserNameLabel->setText(QStringLiteral("用戶名:")); pPasswordLabel->setText(QStringLiteral("密碼:")); pVerifyLabel->setText(QStringLiteral("驗證碼:")); QGridLayout *pLayout = new QGridLayout(); pLayout->addWidget(pUserNameLabel, 0, 0); pLayout->addWidget(pUserLineEdit, 0, 1); pLayout->addWidget(pPasswordLabel, 1, 0); pLayout->addWidget(pPasswordLineEdit, 1, 1); pLayout->addWidget(pVerifyLabel, 2, 0); pLayout->addWidget(pVerifyLineEdit, 2, 1); pLayout->setSpacing(10); pLayout->setMargin(10); setLayout(pLayout);

很明顯,功能可以實現(xiàn),但是代碼量大了很多。

經(jīng)常使用接口

  • setRowWrapPolicy(RowWrapPolicy policy)

    設(shè)置換行策略

QFormLayout::RowWrapPolicy枚舉:

控制表單行的顯示策略。

內(nèi)容 描寫 效果
QFormLayout::DontWrapRows 0 輸入框始終在標簽旁邊 這里寫圖片描述
QFormLayout::WrapLongRows 1 標簽有足夠的空間適應,如果最小大小比可用空間大,輸入框會被換到下1行 這里寫圖片描述
QFormLayout::WrapAllRows 2 輸入框始終在標簽下邊 這里寫圖片描述

  • setWidget(int row, ItemRole role, QWidget *widget)

    設(shè)置行row所對應的控件,如果role為LabelRole時,設(shè)置的為標簽所對應的控件,如果role為FieldRole時,設(shè)置的為輸入框所對應的控件。

QFormLayout::ItemRole枚舉:

指定1排控件的類型

內(nèi)容 描寫
QFormLayout::LabelRole 0 標簽
QFormLayout::FieldRole 1 輸入框
QFormLayout::SpanningRole 2 逾越標簽和輸入框的控件

例如:

//pLayout->addRow(pUserNameLabel, pUserLineEdit); pLayout->setWidget(0, QFormLayout::LabelRole, pUserNameLabel); pLayout->setWidget(0, QFormLayout::FieldRole, pUserLineEdit);

  • setSpacing(int spacing)
  • setHorizontalSpacing(int spacing)
  • setVerticalSpacing(int spacing)

    設(shè)置間距(水平間距、垂直間距)


  • QWidget * QFormLayout::labelForField(QWidget * field)

    通過field獲得field對應的標簽,這里不1定是QLabel,返回值為QWidget。

總結(jié)

當要設(shè)計的界面是1種類似于兩列和若干行組成的情勢時,使用QFormLayout(表單布局)要比QGridLayout(柵格布局)更加方便些。

當界面元素較為復雜時(多行多列),應絕不猶豫的盡可能使用柵格布局,而不是使用水平和垂直布局的組合或嵌套的情勢,由于在多數(shù)情況下,后者常常會使“局勢”更加復雜而難以控制。柵格布局賦予了界面設(shè)計器更大的自由度來排列組合界面元素,而僅僅帶來了微小的復雜度開消。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 久久婷婷一区 | 永久免费网站 | 国产成人综合自拍 | 欧美区日韩区 | 久久久久久久成人 | 可以在线观看的av网站 | 色综合色综合 | 精品美女一区二区 | 久久久电影 | 三区av| 成人欧美一区二区三区视频网页 | 免费放黄网站在线播放 | 高清久久| 国产一区二区在线免费观看 | 在线视频一区二区三区 | 精品91久久| 成人福利网站在线观看 | av在线一区二区三区 | 国产一区二区三区免费在线观看 | 懂色av成人一区二区三区 | 成人免费视频视频 | 免费精品视频 | av片免费观看 | 在线日韩一区二区 | 91午夜在线| 美女黄18 | 国产精品久久久久久 | 亚洲青涩在线 | 色一色成人网 | jizz亚洲女人高潮大叫 | 在线日韩一区 | 日韩三级在线观看 | 亚洲不卡在线观看 | 天天草天天射 | 日韩精品在线观看视频 | av官网在线| 在线精品亚洲欧美日韩国产 | 一级毛片一级毛片一级毛片 | 日本精品一区二区三区在线观看视频 | 国产精品久久久久久久久久久久久 | 成人国产精品一区二区免费麻豆 |