QT5:控件
Layouts Spacers Buttons Item Views(Model-Based) Item Widgets(Item-Based) Containers Input Widgets Display Widgets Label Text Browser Graphics View Calendar Widget LCD Number Progress Bar Horizontal Line Vertical Line OpenGL Widget QQuickWidget
一.布局排版控件
在QT组件面板中有Layouts和Spacers两个组件面板
注意:布局排版控件不显示
//Layouts(布局) Vertical Layout:垂直方向布局,组件自动在垂直方向上分布 Horizontal Layout:水平方向布局,组件自动在水平方向上分布 Grid Layout:网格状布局,网格布局大小改变时,每个网格的大小都改变 Form Layout:窗体布局,与网格状布局类似,但是只有最右侧的一列网格会改变大小 (1)ui文件实现 (2)代码实现
//Spacers(排版) Horizontal Spacer:一个用于水平分隔的空格 Vertival Spacer:一个用于垂直分隔的空格 (1)ui文件实现 (2)代码实现
二.按钮控件
按钮控件一共有六种:pushButton
toolButton
radioButton
checkBox
commandLinkButton
dialogButtonBox
//pushButton (1)创建pushButton // mainWindow.h<br><br>#include <QPushButton> class MainWindow : public QMainWindow { private: QPushButton* pushButton; } // mainWindow.cpp MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWindow) { pushButton=new QPushButton(this); } (2)pushButton成员函数 void setFlat(bool); void setMenu(QMenu* menu); void showMenu(); void setDefault(bool); void setAutoDefault(bool); QString tr(const char* s, const char* c, int n); QString QAbstractButton::tr(const char* s, const char* c, int n); QString QWidget::tr(const char* s, const char* c, int n); QString QObject::tr(const char* s, const char* c, int); pushButton->setText(tr("显示面积"));
1.pushButton
QPushButton* btn = new QPushButton; //btn->show(); //show以顶层方式弹出窗口控件 btn->setParent(this); //让btn对象依赖在mywidget窗口中 //显示文本 btn->setText("第一个按钮"); //创建第二个按钮 按照控件的大小创建窗口 QPushButton* btn2 = new QPushButton("第二个按钮", this); //移动btn2按钮 btn2->move(100, 100); //按钮可以重新设置大小 btn2->resize(50, 50); //设置固定窗口大小 setFixedSize(600, 400); //设置窗口标题 setWindowTitle("第一个窗口");
三.输入控件
输入控件一共有16种:comboBox fontComboBox lineEdit testEdit plainTextEdit spinBox doubleSpinBox timeEdit dateEdit date/timeEdit dial horizontalScrollBar verticalScrollBar horizontalSlider verticalSlider keySequenceEdit
(1)lineEdit // mainWindow.h #include <QLineEdit> class MainWindow : public QMainWindow { private: QLineEdit* lineEdit; } // mainWindow.cpp MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWindow) { lineEdit=new QLineEdit(this); }
四.显示控件
在显示控件(Display Widgets)中,有10种类型的显示控件
Label
Text Browser
Graphics View
Calendar Widget
LCD Number
Progress Bar
Horizontal Line
Vertical Line
OpenGL Widget
QQuickWidget
//Label #include <QLable> int main(int argc, char* argv[]) { QLabel* label = new QLabel(); ... delete label; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)