QPushButton | 标准按键 |
QCheckBox | 多选按钮 |
QRadioButton | 单选按钮 |
QGroupBox | 选项容器 |
QToolButton | 工具按键(少用) |
这是最常用的按键之一。
构造函数有三种:可以添加图标、内容和父类。
- QPushButton *pb1=new QPushButton(QIcon(":/new/prefix1/E:/图片/24110307_6.jpg"),"按键一",this);
- pb1->setFixedSize(200,200);//设置按键大小
- pb1->move(100,100);//移动按键
常见的一些函数:
函数 | 功能 |
setText() | 添加控件文字信息 |
setFixedSize() | 修改控件大小 |
adjustSize() | 自动调整控件大小(自适应) |
text() | 获取控件内容(QString) |
move() | 设置按钮位置 |
setFont() | 设置字体 |
setDefault() | 相应控件click事件 |
setFlat() | 外观设置为平铺 |
setIcon() | 添加图标 |
setIconSize() | 设置图标大小 |
setGeometry() | 设置按键位置和大小 |
setCursor() | 设置鼠标位于按钮时的光标类型 |
setDisabled() setEnabled() | 按键的禁用和启用 |
setMenu | 设置菜单 |
QPushButton常见的一些信号函数:
- QPushButton *pb1=new QPushButton(this);
- pb1->setFixedSize(200,60);//设置按键大小
- pb1->move(100,100);//移动按键
- //等价于pb1->setGeometry(100,100,200,60);
- pb1->setText("按键");
- pb1->setIcon(QIcon(":/new/prefix1/E:/图片/24110307_6.jpg"));//设置图标
- pb1->setIconSize(QSize(40,40));//设置图标大小
- QString p=pb1->text();//获取按键内容
- qDebug()<<p;//输出按键内容
- QFont font;
- bool ok;
- font=QFontDialog::getFont(&ok,QFont("宋体",20),this,"选择字体");
- pb1->setFont(font);//设置字体
- pb1->setDisabled(true);//禁用按键
- //pb1->setEnabled(true);//启用按键
setMenu的使用:
- QPushButton *pb1=new QPushButton("按键",this);
- pb1->move(200,200);
- QMenu *menu=new QMenu;
- menu->addAction("一");
- menu->addAction("二");
- menu->addAction("三");
- pb1->setMenu(menu);
QMenu后面会详细介绍
QRadioButton和QGroup一起使用,实现单选功能。
构造函数有:
常用的函数:
setChecked(bool) | 设置默认选中 |
信号&QRadioButton::toggled(bool) | 获取按键状态:选中为true |
isCheck() | 获取按键当前状态 |
- QGroupBox *GBox=new QGroupBox(this);
- GBox->setTitle("标题选择");//设置标题
- GBox->move(100,100);
- QRadioButton *R1=new QRadioButton(GBox);
- QRadioButton *R2=new QRadioButton(GBox);
- QRadioButton *R3=new QRadioButton(GBox);
- QRadioButton *R4=new QRadioButton(GBox);
- R1->setText("选项一");
- R2->setText("选项二");
- R3->setText("选项三");
- R4->setText("选项四");
- QVBoxLayout *layout=new QVBoxLayout(GBox);
- layout->addWidget(R1);
- layout->addWidget(R2);
- layout->addWidget(R3);
- layout->addWidget(R4);
- R1->setChecked(true);//默认选中
- connect(R1,&QRadioButton::toggled,[=](int p)
- {
- qDebug()<<p;
- });
- qDebug()<<R1->isChecked();//获取R1的当前状态
QCheckBox一般和QGroupBox一起使用,实现多项选择。
QCheckBox的构造函数:可以设置选项标志信息,和父类。
stateChanged(int x) | 使用该函数获取选项的状态 |
setTristate(bool) | 是否对选项进行监听 |
isChecked() | 获取是否为选中状态,会返回一个bool值 |
注意:isChecked和setTristate一起使用时,预选和选中 isChedked都为true
- QGroupBox *GBox=new QGroupBox(this);
- GBox->setTitle("标题选择");//设置标题
- GBox->setGeometry(100,100,200,400);
- QCheckBox *CBox1=new QCheckBox(GBox);
- QCheckBox *CBox2=new QCheckBox(GBox);
- QCheckBox *CBox3=new QCheckBox(GBox);
- QCheckBox *CBox4=new QCheckBox(GBox);
- CBox1->setText("第一个选项");
- CBox2->setText("第二个选项");
- CBox3->setText("第三个选项");
- CBox4->setText("第四个选项");
- QVBoxLayout *layout=new QVBoxLayout(GBox);//创建一个垂直布局
- layout->addWidget(CBox1);
- layout->addWidget(CBox2);
- layout->addWidget(CBox3);
- layout->addWidget(CBox4);
- CBox1->setTristate(true);//启动监听
- connect(CBox1,&QCheckBox::stateChanged,[=](int p)//设置一个参数,接收信息
- {
- qDebug()<<p;
- qDebug()<<CBox1->isChecked();
- });
stateChanged 会返回状态 2 (选中)1(预选) 0(未选中)
QToolButton工具按键一般用于QToolBar中,不会单独使用,之后和QToolBar一起介绍。