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
#include
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
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
int main(int argc, char* argv[])
{
QLabel* label = new QLabel();
...
delete label;
}