文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Qt——QPushButton控件的常见属性、方法和信号

2023-08-30 15:58

关注

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:

描述:设置或获取按钮的选中状态,只在 checkabletrue 时有效。

用法:

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):

描述:设置按钮的选中状态,只在 checkabletrue 时有效。

用法:

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯