Qt中QPushButton控件的常见属性、方法和信号
一、QPushButton控件常见属性
二、QPushButton控件常见方法
三、QPushButton控件常见信号
一、QPushButton控件常见属性(Properties)
1. text:
描述:按钮上显示的文本。
用法:
button->setText("Click me");
2. setStyleSheet
描述:用于设置控件的样式表
用法:
//#00(r红)00(g绿色)00(b蓝色)button->setStyleSheet("border: 1px solid red;" "border-top: 0;" "border-left: 0;" "border-right: 0;" "background-color: #00aa00" );button2->setStyleSheet(QString("background-color: %1;" "border-radius:%2px;") .arg("green").arg(10));
3. icon:
描述:按钮上显示的图标。
用法:
button->setIcon(QIcon(":/images/icon.png"));
4. resize:
描述:重置按钮大小。
用法:
button->resize(80, 50); //(width,heigth)
5. move:
描述:移动按钮位置。
用法:
//width():获取控件的宽度 height(): 获取控件高度button->move(QPoint((width() - button->width()) / 2, (height() - >button->height()) / 2));//或直接输入x轴和y轴button->move(30, 50);
6. checkable:
描述:指示按钮是否具有切换状态(按下和释放)。
用法:
button->setCheckable(true);
7. checked:
描述:设置或获取按钮的选中状态,只在
checkable
为true
时有效。用法:
button->setChecked(true);// 或bool isChecked = button->isChecked();
8. enabled:
描述:设置或获取按钮的启用状态(可用或禁用)。
用法:
button->setEnabled(false);// 或bool isEnabled = button->isEnabled();
9. visible:
描述:设置或获取按钮的可见性状态(可见或隐藏)。
用法:
button->setVisible(false);// 或bool isVisible = button->isVisible();
10. shortcut:
描述:设置按钮的快捷键,用于在应用程序中触发按钮点击。
用法:
button->setShortcut(QKeySequence("Ctrl+S"));
11. toolTip:
描述:设置按钮的工具提示文本,鼠标悬停时显示。
用法:
button->setToolTip("Click this button to save.");
12. statusTip:
描述:设置按钮的状态提示文本,通常在状态栏显示。
用法:
button->setStatusTip("Save the current changes.");
13. whatsThis:
描述:设置按钮的"这是什么"帮助文本,通常用于上下文相关的帮助。
用法:
button->setWhatsThis("This button is used to save the changes you've made.");
14. autoDefault:
描述:如果设置为
true
,按钮可以通过回车键触发,而无需具有焦点。用法:
button->setAutoDefault(true);
15. default:
描述:如果设置为
true
,按钮将被指定为默认按钮,通常会显示一个默认的外观(例如,加粗的文本)。用法:
button->setDefault(true);
16. flat:
描述:如果设置为
true
,按钮将没有背景,只显示文本或图标。用法:
button->setFlat(true);
17. menu:
描述:设置与按钮关联的弹出菜单。
用法:
button->setMenu(menu);
二、QPushButton控件常见方法(Methods)
1. click():
描述:模拟按钮的点击动作,触发按钮的相应槽函数。
用法:
button->click();
2. setText(const QString &text):
描述:设置按钮上显示的文本。
用法:
button->setText("New Text");
3. setIcon(const QIcon &icon):
描述:设置按钮上显示的图标。
用法:
button->setIcon(QIcon(":/images/new_icon.png"));
4. setChecked(bool checked):
描述:设置按钮的选中状态,只在
checkable
为true
时有效。用法:
button->setChecked(true);
5. setEnabled(bool enabled):
描述:设置按钮的启用状态(
true
为启用,false
为禁用)。用法:
button->setEnabled(false);
6. setVisible(bool visible):
描述:设置按钮的可见性状态(
true
为可见,false
为不可见)。用法:
button->setVisible(true);
7. setShortcut(const QKeySequence &key):
描述:设置按钮的快捷键。
用法:
button->setShortcut(QKeySequence("Ctrl+N"));button->setShortcut(QKeySequence("Shift+Ctrl+S"));button->setShortcut(QKeySequence("Alt+X"));//Ctrl+Shift+Pbutton->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_P));
8. setToolTip(const QString &tip):
描述:设置按钮的工具提示文本。
用法:
button->setToolTip("Click this button to create a new item.");
9. setStatusTip(const QString &tip):
描述:设置按钮的状态提示文本。
用法:
button->setStatusTip("Create a new item.");
11. setWhatsThis(const QString &text):
描述:设置按钮的"这是什么"帮助文本。
用法:
button->setWhatsThis("This button is used to create a new item.");
12. setAutoDefault(bool enabled):
描述:设置按钮是否响应回车键(
true
响应,false
不响应)。用法:
button->setAutoDefault(true);
13. setDefault(bool enabled):
描述:设置按钮是否为默认按钮。
用法:
button->setDefault(true);
14. setFlat(bool enable):
描述:设置按钮是否为扁平样式(无背景)。
用法:
button->setFlat(true);
15. setMenu(QMenu *menu):
描述:设置与按钮关联的弹出菜单。
用法:
button->setMenu(menu);
三、QPushButton控件常见信号
这些信号表示了不同的按钮交互和状态变化,您可以将它们与相应的槽函数连接,以便在特定事件发生时执行所需的操作。
1. clicked():
描述:当按钮被点击时发出。
用法:连接此信号以在按钮被点击时执行操作。
2. customContextMenuRequested(const QPoint &pos):
描述:在用户请求自定义上下文菜单时发出。
用法:连接此信号以在用户请求上下文菜单时执行操作。
3. destroyed(QObject *obj = nullptr):
描述:在对象被销毁时发出。
用法:通常不直接连接此信号,而是用于对象管理和清理。
4. objectNameChanged(const QString &objectName):
描述:当对象名称发生更改时发出。
用法:连接此信号以在对象名称更改时执行操作。
5. pressed():
描述:当按钮被按下时发出。
用法:连接此信号以在按钮被按下时执行操作。
6. released():
描述:当按钮被释放时发出。
用法:连接此信号以在按钮被释放时执行操作。
7. toggled(bool checked):
描述:在按钮的选中状态发生变化时发出,只在 checkable 为
true
时有效。
用法:连接此信号以在按钮选中状态切换时执行操作。
8. windowIconChanged(const QIcon &icon):
描述:当窗口图标发生变化时发出。
用法:连接此信号以在窗口图标变化时执行操作。
9. windowIconTextChanged(const QString &iconText):
描述:当窗口图标的文本发生变化时发出。
用法:连接此信号以在窗口图标文本变化时执行操作。
10. windowTitleChanged(const QString &title):
描述:当窗口标题发生变化时发出。
用法:连接此信号以在窗口标题变化时执行操作。
#include "widget.h"Widget::Widget(QWidget *parent) : QWidget(parent){ //this->setFixedSize(640, 480);//设置窗口大小为固定尺寸 this->setFixedSize(QSize(640, 480));//通过匿名对象设置固定窗口大小 this->setWindowTitle(QString("按钮"));//设置标题 //this->setWindowIcon(""); //构造按钮,指定父对象为this,实际就是当前界面的构造按钮 QPushButton *btn = new QPushButton(this); btn->setText(QString("按钮1"));//setText():设置文本 btn->resize(80, 50);//resize():重置按钮大小(w,h) //width():获取控件的宽度 height(): 获取控件高度 btn->move(QPoint((width() - btn->width()) / 2, (height() - btn->height()) / 2));//移动按钮位置 //#00(r红)00(g绿色)00(b蓝色) btn->setStyleSheet("border: 1px solid red;" "border-top: 0;" "border-left: 0;" "border-right: 0;" "background-color: #00aa00" ); QPushButton *btn1 = new QPushButton(QString("按钮2")); btn1->setParent(this); //setGeometry():设置控件的位置和尺寸 x():获取控件的x坐标 y():获取控件y坐标 btn1->setGeometry(btn->x() - 80, btn->y() - 50, 80, 50); btn1->setIcon(QIcon(":/qq.jpg")); btn1->setIconSize(QSize(80, 25));//设置图标的尺寸 QPushButton *btn2 = new QPushButton(QString("按钮3"),this); btn2->setFixedSize(80, 50); btn2->move(btn->x() + btn->width(), btn->y() + btn->height()); //btn2->setGeometry(btn->x() + 80, btn->y() + 50, 80, 50);}Widget::~Widget(){}
来源地址:https://blog.csdn.net/qq_57737603/article/details/132462936