QT 控件 排版

来源:互联网 发布:java 简单代码实例 编辑:程序博客网 时间:2024/05/01 05:31

QVBoxLayout 為垂直一格一格的排版樣式,而 QHBoxLayout 則是水平一格一格的排版樣式,舉例如下

Demo3.h

#ifndef DEMO3_H#define DEMO3_H #include <QWidget> class QPushButton; class Demo3 : public QWidget {    Q_OBJECT public:    Demo3(QWidget *parent = 0);}; #endif


Demo3.cpp

#include <QtGui>#include "Demo3.h" Demo3::Demo3(QWidget *parent) : QWidget(parent) {    QPushButton *b1, *b2, *b3, *b4, *b5;    b1 = new QPushButton(tr("b1"));    b2 = new QPushButton(tr("b2"));    b3 = new QPushButton(tr("b3"));    b4 = new QPushButton(tr("b4"));    b5 = new QPushButton(tr("b5"));         QHBoxLayout *layout = new QHBoxLayout;    layout->addWidget(b1);    layout->addWidget(b2);    layout->addWidget(b3);    layout->addWidget(b4);    layout->addWidget(b5);         setLayout(layout);    setWindowTitle(tr("Demo3"));}


main.cpp

#include <QtGui>#include "Demo3.h" int main(int argv, char **args){    QApplication app(argv, args);     Demo3 demo;    demo.show();     return app.exec();}


效果:



其他常見的像是一列兩欄的 QFormLayout ,可供輸入表單之用,舉例如下


Demo4.h

#ifndef DEMO4_H#define DEMO4_H #include <QWidget> class QPushButton;class QLineEdit; class Demo4 : public QWidget {    Q_OBJECT public:    Demo4(QWidget *parent = 0);}; #endif

Demo4.cpp

#include <QtGui>#include "Demo4.h" Demo4::Demo4(QWidget *parent) : QWidget(parent) {    QPushButton *b1, *b2;    QLineEdit *c1, *c2;    b1 = new QPushButton(tr("b1"));    c1 = new QLineEdit;    b2 = new QPushButton(tr("b2"));    c2 = new QLineEdit;         QFormLayout *layout = new QFormLayout;    layout->addRow(b1, c1);    layout->addRow(b2, c2);         setLayout(layout);    setWindowTitle(tr("Demo4"));}

main.cpp

#include <QtGui>#include "Demo4.h" int main(int argv, char **args){    QApplication app(argv, args);     Demo4 demo;    demo.show();     return app.exec();}


 效果:



原创粉丝点击