一、QPushButton介绍
QPushButton是任何图形用户界面中最常用的控件。按下(点击)按钮来命令计算机执行某个操作。典型的按钮有“确定”、“应用”、“取消”、“关闭”、“是”、“否”和“帮助”。按钮显示文本标签,可以通过在文本中用和号(&)前缀来指定快捷键;还可以选择性地显示一个小图标。
1)主要构造函数
// 空对象
QPushButton(QWidget *parent = nullptr);
// 指定QPushButton显示的文字
QPushButton(const QString &text, QWidget *parent = nullptr);
// 指定QPushButton背景图片和显示的文字
QPushButton(const QIcon& icon, const QString &text, QWidget *parent = nullptr);
最常用的创建方法为:QPushButton(QWidget *parent = nullptr);
并且把它的父对象指定为它所在的窗口对象。
2)主要信号
它通过信号来接收特定的操作,信号包括:
这些信号在QAbstractButton
中定义,也就是说继承于QAbstractButton
的按钮类都可以使用这些信号。
由于QPushButton
使用最多的操作是点击触发某个行为,所以它常用的信号为pressed
和released
, 当然也可以使用其他信号实现一些特殊功能。
二、使用
如下图
三、按钮样式
1)按钮文字
通常我们通过按钮上的文字说明按钮的功能,可以使用setText()
函数设置按钮文字。
ui->pushButton->setText("按钮");
如何获取按钮的文字
QString btnText = ui->pushButton->text();
2)按钮大小
使用setGeometry
函数可以设置按钮的大小及位置,setGeometry
接收一个QRect
矩形对象,用以指定按钮大小及位置,如下:
pushButton->setGeometry(QRect(140, 140, 231, 71));
其中前两个参数指定位置(x, y),后两个参数指定大小(height, width)
另外还可以使用resize
函数单独设置按钮的大小:
ui->pushButton->resize(80, 80);
3)其他样式
其他样式主要使用void setStyleSheet(const QString& styleSheet); 函数设置样式表。
该函数传入QString类型的参数,是遵循 qss 语法的编码字符串。
qss 语法和 css 语法基本相同。
比如基本常用的设置按钮的背景色、按钮字体、矩形按钮圆角等。
ui->pushButton->setStyleSheet("QPushButton {"
"background-color: green;" // 按钮背景色
"font: bold 20px;" // 按钮字体
"border-width: 1px;" // 按钮边框线宽
"border-radius: 16px;" // 按钮边框圆角半径
"color: white;" // 按钮文字颜色
"}");