目录
按钮
1、QPushButton
2、QToolButton
3、QRadioButton
4、QCheckBox
示例
容器
编辑
1. QGroupBox(分组框)
2. QScrollArea(滚动区域)
3. QToolBox(工具箱)
4. QTabWidget(选项卡控件)
5. QStackedWidget(堆叠控件)
6. QFrame(框架控件)
7. QWidget(窗口部件)
8. QMdiArea(多文档界面区域)
9. QDockWidget(停靠控件)
按钮
1、QPushButton
- QPushButton是一个普通的按钮类,用于创建常规按钮。
- 可以设置按钮的文本、图标、样式等属性,并与点击事件相关联。
2、QToolButton
- QToolButton是一个工具按钮类,用于创建带有图标或文本的工具按钮。
- 与QPushButton不同的是,QToolButton通常用于工具栏或工具箱中,可以包含下拉菜单、快捷方式等功能。
3、QRadioButton
- QRadioButton是一个单选按钮类,用于创建一组互斥的选项。
- 当选择一个单选按钮时,其他单选按钮将自动取消选择。
- 可以通过将单选按钮放在QButtonGroup中来建立同一组的单选按钮。
4、QCheckBox
- QCheckBox是一个复选框类,用于创建可以选择或取消选择的项目。
- 与QRadioButton不同的是,QCheckBox不互斥,可以同时选择多个复选框。
示例
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QLineEdit>
#include <QPushButton>
#include <QCheckBox>
#include <QWidget>
class Widget : public QWidget
{
Q_OBJECT
public slots:
void setpass(bool flag)
{
if(!flag)
le->setEchoMode(QLineEdit::Password);
else
le->setEchoMode(QLineEdit::Normal);
}
public:
Widget(QWidget *parent = 0);
~Widget();
private:
QLineEdit *le;
QCheckBox *ck;
QPushButton *pb;
};
#endif // WIDGET_H
#include "widget.h"
#include <QVBoxLayout>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
le = new QLineEdit;
//le->setEchoMode(QLineEdit::Password);
ck = new QCheckBox("show passwd");
pb = new QPushButton("clear");
QVBoxLayout *vbox = new QVBoxLayout;
vbox->addWidget(le);
vbox->addWidget(ck);
vbox->addWidget(pb);
this->setLayout(vbox);
connect(pb, SIGNAL(clicked(bool)), le, SLOT(clear()));
connect(ck, SIGNAL(clicked(bool)), this, SLOT(setpass(bool)));
}
Widget::~Widget()
{
}
容器
1. QGroupBox(分组框)
- QGroupBox是用于在界面上创建一个带有标题的分组框。
- 它可以用于将相关的控件或选项分组显示,提高用户界面的可读性和可理解性。
2. QScrollArea(滚动区域)
- QScrollArea提供一个滚动视图用于显示比可见区域更大的内容。
- 可以将需要滚动显示的控件放置在QScrollArea内部,使用户可以通过滚动来查看全部内容。
3. QToolBox(工具箱)
- QToolBox是一个可以包含多个部件或选项卡的容器控件。
- 它以堆叠的方式显示多个部件,并提供一个选项卡或树状结构来切换不同的部件。
4. QTabWidget(选项卡控件)
- QTabWidget是一个包含多个选项卡的容器控件。
- 每个选项卡可以关联一个窗口部件,通过切换选项卡可以显示不同的内容。
5. QStackedWidget(堆叠控件)
- QStackedWidget是一个堆叠式的容器控件,用于存储和切换多个部件。
- 每个部件被堆叠在一起,只显示当前选中的部件,其他部件隐藏。
6. QFrame(框架控件)
- QFrame是一个基础的可视控件类,用于创建具有框架样式的矩形区域。
- 它可以用于容纳其他控件,也可以显示边框、阴影等装饰效果。
7. QWidget(窗口部件)
- QWidget是Qt中所有可视化控件的基类,也可以作为容器控件使用。
- 它提供了绘图、事件处理和布局管理等功能,可用于构建应用程序的用户界面。
8. QMdiArea(多文档界面区域)
- QMdiArea是一个多文档界面容器,用于显示和管理多个子窗口。
- 它提供了窗口的布局、切换、激活等功能,适用于创建MDI风格的应用程序。
9. QDockWidget(停靠控件)
- QDockWidget是一个可停靠的容器控件,用于在主窗口中创建可拖拽和停靠的部件。
- 它可以将各种部件、工具栏等放置在主窗口的边缘位置。
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QToolBox>
#include <QPushButton>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
private:
QToolBox *tb;
QPushButton *pb[3];
};
#endif // WIDGET_H
#include "widget.h"
#include <QVBoxLayout>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
tb = new QToolBox;
pb[0] = new QPushButton("aaa");
pb[1] = new QPushButton("bbb");
pb[2] = new QPushButton("ccc");
tb->addItem(pb[0], "1111");
tb->addItem(pb[1], "2222");
tb->addItem(pb[2], "3333");
QVBoxLayout *mainbox = new QVBoxLayout;
mainbox->addWidget(tb);
this->setLayout(mainbox);
}
Widget::~Widget()
{
}