Qt QPushButton按钮用法详解_qpushbutton(1)

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

QPushButton -> QAbstractButton -> QWidget

QAbstractButton 类是所有按钮控件类的基类,包含很多通用的按钮功能。

QPushButton 类专门用来创建可按压的按钮,如图 1 所示。

img
图 1 QPushButton 按钮

QPushButton 按钮上除了可以放置一串文本,文本左侧还可以放置图标,必要时还可以在按钮上放置图片。QPushButton 按钮可以作为一个独立的窗口,但实际开发中很少这样用,通常的用法是像图 1 这样将按钮内嵌到某个窗口中,作为一个子控件和其它控件搭配使用。

QPushButton 类提供了 3 个构造函数,分别是:

QPushButton(QWidget *parent = Q_NULLPTR)
QPushButton(const QString &text, QWidget *parent = Q_NULLPTR)
QPushButton(const QIcon &icon, const QString &text, QWidget *parent = Q_NULLPTR)

parent 参数用于指定父窗口;text 参数用于设置按钮上要显示的文字;icon 参数用于设置按钮上要显示的图标。

注意,第一个构造函数的 parent 参数附有默认值,所以 QPushButton 类还隐含着一个默认构造函数。也就是说,实例化 QPushButton 类对象时可以不传递任何参数。

QPushButton按钮的使用

QPushButton 类提供了很多实用的属性和方法,它还从父类继承了很多属性和方法。下表给大家罗列了一些比较常用的属性和方法:

表 1 QPushButton常用属性 属 性 含 义

text保存按钮上要显示的文字。 该属性的值可以通过 text() 方法获取,也可以通过 setText(const QString &text) 方法修改。
icon保存按钮左侧要显示的图标。 该属性的值可以通过 icon() 方法获取,也可以通过 setIcon(const QIcon &icon) 方法修改。
iconsize保存按钮左侧图标的尺寸。 该属性的值可以通过 iconSize() 方法获取,也可以通过 setIconSize(const QSize &size) 方法修改。
size保存按钮的尺寸。 该属性的值可以通过 size() 方法获取,也可以通过 resize(int w, int h) 或者 resize(const QSize &) 方法修改。
font保存按钮上文字的字体和大小。 该属性的值可以通过 font() 方法获取,也可以通过 setFont(const QFont &) 方法修改。
flat初始状态下,按钮是否显示边框。flat 属性的默认值为 flase,表示按钮带有边框。 该属性的值可以通过 isFlat() 方法获取,也可以通过 setFlat(bool) 方法修改。
enabled指定按钮是否可以被按下。 该属性的默认值为 true,表示按钮可以被按下,即按钮处于启用状态。当该属性的值为 false 时,按钮将不能被点击,按钮处于禁用状态。 该属性的值可以通过 isEnabled() 方法获取,也可以通过 setEnabled(bool) 方法进行修改。
autoDefault当用户按下 Enter 回车键时,是否触发点击按钮的事件。 当按钮的父窗口为 QDialog 窗口时,该属性的值为 true;其它情况下,该属性的默认值为 false。 该属性的值可以通过 autoFault() 方法获取,也可以通过 setAutoFault(bool) 方法修改。

除了表 1 中罗列的获取、修改属性值的方法外,QPushButton 类常用的成员方法还有:

表 2 QPushButton常用方法 方 法 功 能

move(int x, int y)手动指定按钮位于父窗口中的位置。
setStyleSheet(const QString &styleSheet)自定义按钮的样式,包括按钮上文字或图片的显示效果,按钮的形状等等。
setGeometry(int x, int y, int w, int h)同时指定按钮的尺寸和位置。
adjustSize()根据按钮上要显示的内容,自动调整按钮的大小。
setDisabled(bool disable)指定按钮是否可以被按下。当 disable 值为 true 时,表示按钮不能被按下,即禁用按钮的功能。

QPushButton按钮的信号和槽

GUI 程序中,按钮的主要任务是完成和用户之间的交互,下表罗列了 QPushButton 类常用的信号函数和槽函数:

表 3 QPushButton信号和槽 信号函数 功 能 槽函数 功 能

clicked() clicked(bool checked = false)用户点击按钮并释放(或者按下按钮对应的快捷键)后,触发此信号。
pressed()用户按下按钮时会触发此信号。
released()用户松开按钮时会触发此信号。
click()单击指定的按钮。
setIconSize()重新设置按钮上图片的尺寸。
hide()隐藏按钮控件。
setMenu(QMenu *menu)弹出与按钮关联的菜单。

实例演示QPushButton按钮用法

接下来通过一个实例,给大家演示 QPushButton 按钮的用法:

#include <QApplication>


![img](https://img-blog.csdnimg.cn/img_convert/6cad6ea054b6c9c9f24c0979b574a8c9.png)
![img](https://img-blog.csdnimg.cn/img_convert/cb37049ec9c0188407b1dbfeca3f440b.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新**

**需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**

**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**

解视频,并且后续会持续更新**

**需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**

**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**

  • 22
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Qt的QPushButton类提供了许多方法来设置按钮的样式。 首先,可以使用setStyleSheet()方法来设置按钮的样式表。可以使用CSS语法指定按钮的背景颜色、边框样式、字体样式等。例如: ```cpp QPushButton* button = new QPushButton("按钮"); button->setStyleSheet("background-color: red; color: white; border-radius: 5px;"); ``` 上面的代码将按钮的背景颜色设置为红色,字体颜色设置为白色,并且按钮的边框变为圆角。 除了使用样式表,还可以使用QPalette类来设置按钮的样式。可以通过设置按钮的背景色、前景色、字体颜色等来自定义按钮的外观。例如: ```cpp QPushButton* button = new QPushButton("按钮"); QPalette palette = button->palette(); palette.setColor(QPalette::Button, Qt::red); palette.setColor(QPalette::ButtonText, Qt::white); button->setPalette(palette); ``` 上面的代码将按钮的背景颜色设置为红色,字体颜色设置为白色。 另外,还可以使用setIcon()方法来设置按钮的图标。可以使用QIcon类加载图片文件或者使用Qt内置的图标资源。例如: ```cpp QPushButton* button = new QPushButton("按钮"); button->setIcon(QIcon(":/icon/image.png")); ``` 上面的代码将按钮的图标设置为image.png文件中的图片。 总结而言,Qt提供了多种方法来设置QPushButton的样式,可以使用样式表、调整按钮的颜色和字体、设置按钮的图标等等来自定义按钮的外观。 ### 回答2: Qt是一款功能强大的C++应用程序开发框架,其中的QPushButton类是用于创建按钮的组件。我们可以通过Qt的样式设置来自定义QPushButton的外观和行为。 QPushButton的样式设置可以分为两种方式:CSS样式表和代码设置。 一种常用的方式是使用CSS样式表来设置QPushButton的样式。我们可以在代码中使用setStyleSheet函数来设置按钮的CSS样式表,具体的设置可以使用CSS的语法来进行,例如设置按钮背景颜色为红色可以使用这样的代码:button->setStyleSheet("background-color: red;")。 另一种方式是通过代码设置QPushButton的样式。我们可以通过QPushButton的setObjectName函数为按钮设置一个唯一的对象名,然后使用QSS样式表来设置该对象名对应的样式。例如设置按钮背景颜色为红色可以使用这样的代码:button->setObjectName("myButton");,然后在样式表中设置myButton的样式:QPushButton#myButton{background-color: red;} 除了设置背景颜色,我们还可以通过样式设置来改变按钮的边框样式、字体颜色、大小、阴影等。例如设置按钮字体颜色为绿色可以使用这样的代码:button->setStyleSheet("color: green;"),设置按钮边框样式可以使用这样的代码:button->setStyleSheet("border: 2px solid blue;")。 总结来说,Qt的QPushButton类提供了多种样式设置的方式,可以使用CSS样式表或者代码设置来自定义按钮的外观和行为。我们可以根据需要来灵活使用这些方式来实现具有吸引力的按钮效果。 ### 回答3: Qt是一种流行的跨平台应用程序开发框架,提供了丰富的控件库供开发者使用。其中之一就是QPushButton按钮控件,我们可以对其进行样式设置来改变其外观。 Qt提供了多种方式来设置QPushButton的样式。比较常用的方式是使用QSS(Qt Style Sheets)来自定义按钮的样式。可以通过设置按钮的stylesheet属性来使用QSS。 QSS使用CSS(Cascading Style Sheets)语法来描述按钮的样式。例如,可以设置按钮的背景颜色、字体、边框等。以下是一个示例的QSS代码: QPushButton { background-color: red; color: white; border-radius: 5px; padding: 10px; } 上述代码将按钮的背景颜色设置为红色,字体颜色设置为白色,按钮的边框圆角半径设置为5像素,按钮的内边距设置为10像素。 使用QSS可以对按钮的多种状态进行样式设置,如普通状态、鼠标悬停状态、按下状态等。可以使用不同的伪类选择器来选择不同状态下的按钮样式,如:hover表示鼠标悬停状态,pressed表示按钮按下状态。 例如,可以使用以下QSS代码设置按钮在不同状态下的样式: QPushButton { background-color: red; color: white; border-radius: 5px; padding: 10px; } QPushButton:hover { background-color: blue; color: yellow; } QPushButton:pressed { background-color: green; color: black; } 上述代码将按钮的背景颜色在不同状态下分别设置为红色、蓝色和绿色,字体颜色也随之改变。 以上就是关于如何使用QSS进行QPushButton样式设置的简要说明,开发者可以根据需要进一步学习和使用QSS来实现更多的样式定制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值