日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1QPushButton的使用,QLineEdit的使用,设置组件位置,布局(QHBoxLayout,QGridLayout)

發布時間:2024/9/27 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1QPushButton的使用,QLineEdit的使用,设置组件位置,布局(QHBoxLayout,QGridLayout) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


1.新建一個空Qt項目

2 新建一個新的文件(右擊項目à添加新文件)

3 配置pro文件屬性

SOURCES += \

??? main.cpp

QT += widgets gui

4 編寫main.cpp

/*應用程序抽象類*/ #include <QApplication> /*窗口類*/ #include <QWidget> /*按鈕*/ #include <QPushButton> ? int main(int argc,char *argv[]) { ??? QApplication app(argc,argv); ? ??? /*構造一個窗口*/ ??? QWidget w; ??? /*顯示窗口*/ ??? w.show(); ? ??? /*按鈕也是一個窗口*/ ??? QPushButton button; ??? button.setText("Button"); ??? /*窗口對象的父子關系,影響顯示位置*/ ??? /*沒有父窗口的窗口,我們稱之為主窗口*/ ??? button.setParent(&w); ??? button.show(); ? ??? /*QTC++的拓展*/ ??? //std::bind std::function ??? QObject::connect(&button, SIGNAL(clicked()), &w, SLOT(close())); ? ??? w.setWindowTitle("Hello World"); ? ??? /*exec中有一個消息循環*/ ??? return app.exec(); }
運行結果:

5? 新建一個空的QT項目:02LineEdit項目

如上,修改.pro文件

/*應用程序抽象類*/

#include <QApplication>

?

/*窗口類*/

#include <QWidget>

#include <QCompleter>

#include <QLineEdit>

?

int main(int argc,char *argv[])

{

??? QApplication app(argc,argv);

?

??? /*構造一個窗口*/

??? QWidget w;

?

??? QLineEdit edit;

??? edit.show();

??? edit.setParent(&w);

?

??? /*輸入密碼*/

??? /*

??? edit.setEchoMode(QLineEdit::PasswordEchoOnEdit);

??? edit.text();

??? edit.setPlaceholderText("Please input text:");

??? */

?

??? QCompleter completer(QStringList() << "aab" << "123" << "998");

??? completer.setFilterMode(Qt::MatchContains);

??? edit.setCompleter(&completer);

?

??? //顯示窗口

??? w.show();

?

??? /*QTC++的拓展

??? QTC++的拓展

??? std::bind std::function

??? QObject::connect(&button, SIGNAL(clicked()), &w, SLOT(close()));

??? */

?

??? w.setWindowTitle("Hello World");

?

??? /*exec中有一個消息循環*/

??? return app.exec();

}

運行結果:

6 設置組件的位置:

/*應用程序抽象類*/ #include <QApplication> ? /*窗口類*/ #include <QWidget> ? /*按鈕*/ #include <QPushButton> ? int main(int argc,char *argv[]) { ??? QApplication app(argc,argv); ? ??? /*構造一個窗口*/ ??? QWidget w; ? ??? /*顯示窗口*/ ??? w.show(); ? ??? /*按鈕也是個窗口*/ ??? QPushButton button; ??? button.setText("Button"); ??? /*窗口對象的父子關系,影響顯示位置*/ ??? /*沒有父窗口的窗口,我們稱之為主窗口*/ ??? button.setParent(&w); ??? button.show(); ? ??? button.setGeometry(30,30,100,30); ? ??? /* QTC++的拓展 */ ??? //std::bind std::function ??? QObject::connect(&button,SIGNAL(clicked()),&w,SLOT(close())); ? ??? w.setWindowTitle("Hello World"); ? ??? /*exec中有一個消息循環*/ ??? return app.exec(); }
運行結果:

7 關于QT的布局

/*應用程序抽象類*/

#include <QApplication>

?

/*窗口類*/

#include <QWidget>

?

/*按鈕*/

#include <QPushButton>

#include <QHBoxLayout>

?

int main(int argc,char *argv[])

{

??? QApplication app(argc,argv);

?

??? /*構造一個窗口*/

??? QWidget *window = new QWidget;

?

??? /* 按鈕也是個窗口 */

??? //QPushButton button;

??? //button.setText("Button");

??? /* 窗口對象的父子關系,影響顯示位置 */

??? /* 沒有父窗口的窗口,我們稱之為主窗口 */

??? QHBoxLayout *layout = new QHBoxLayout;

?

??? QPushButton *button1 = new QPushButton("One");

??? QPushButton *button2 = new QPushButton("Two");

??? QPushButton *button3 = new QPushButton("Three");

??? QPushButton *button4 = new QPushButton("Four");

??? QPushButton *button5 = new QPushButton("Five");

?

??? //彈簧,可以控制組件的顯示位置

??? layout->addStretch(1);

??? layout->addWidget(button1,1);

??? layout->addWidget(button2,1);

??? layout->addWidget(button3,1);

??? layout->addWidget(button4,1);

??? layout->addWidget(button5,1);

??? layout->addStretch(1);

?

??? //通過下面的方法可以設置每個button的間隔距離

??? layout->setSpacing(50);

?

??? window->setLayout(layout);

??? window->show();

?

??? return app.exec();

}

運行結果:

8 QGridLayout 表格布局

/*應用程序抽象類*/

#include <QApplication>

?

/*窗口類*/

#include <QWidget>

?

/*按鈕*/

#include <QPushButton>

#include <QLineEdit>

#include <QGridLayout>

?

int main(int argc,char *argv[])

{

??? QApplication app(argc,argv);

?

??? /*構造一個窗口*/

??? QWidget *window = new QWidget;

??? /*按鈕也是一個窗口*/

??? QPushButton button;

??? button.setText("Button");

??? button.show();

?

??? QLineEdit edit;

??? edit.setParent(window);

?

??? //表格布局

??? QGridLayout *layout = new QGridLayout;

??? layout->setColumnStretch(3,1);

??? layout->setRowStretch(4,1);

??? layout->setColumnStretch(0,1);

??? layout->setRowStretch(0,1);

?

??? layout->addWidget(&button,1,1);

??? layout->addWidget(&edit,1,2);

??? layout->addWidget(new QPushButton("1,0"),2,1);

??? layout->addWidget(new QPushButton("1,1"),2,2);

?

??? //void addWidget(QWidget *, int row, int column,

??? //?????????????? int rowSpan, int columnSpan, Qt::Alignment = 0);

??? //下面的參數表示第3行,第2列,占1行,合并2

??? layout->addWidget(new QPushButton("aaa"),3,1,1,2);

?

??? window->setLayout(layout);

??? window->show();

?

??? return app.exec();

}

運行結果:

9 模擬并編寫一個登錄窗口

/*應用程序抽象類*/

#include <QApplication>

?

/*窗口類*/

#include <QWidget>

?

/*按鈕*/

#include <QPushButton>

#include <QLineEdit>

#include <QLabel>

#include <QGridLayout>

?

int main(int argc,char *argv[])

{

??? QApplication app(argc,argv);

?

??? /*構造一個窗口*/

??? QWidget *window = new QWidget;

?

??? QGridLayout layout;

??? QLineEdit* password;

??? layout.setColumnStretch(3, 1);

??? layout.setRowStretch(4, 1);

??? layout.setColumnStretch(0, 1);

??? layout.setRowStretch(0, 1);

?

??? layout.addWidget(new QLabel("Username:"), 1, 1);

??? layout.addWidget(new QLineEdit(), 1, 2);

??? layout.addWidget(new QLabel("Password:"), 2, 1);

??? layout.addWidget(password = new QLineEdit(), 2, 2);

?

??? QHBoxLayout* hBox;

??? //表示在第三行,占用2

??? layout.addLayout(hBox = new QHBoxLayout, 3, 2);

??? //加一個彈簧,讓它向右偏移

??? hBox->addStretch(1);

??? hBox->addWidget(new QPushButton("Login"));

?

??? window->setLayout(&layout);

??? window->show();

?

??? return app.exec();

}

運行結果:

?

?

?

?

?

?

?

?

?

?

?

?

總結

以上是生活随笔為你收集整理的1QPushButton的使用,QLineEdit的使用,设置组件位置,布局(QHBoxLayout,QGridLayout)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。