QPushButton类

 

Header:#include <QPushButton>
CMake:find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake:QT += widgets
Inherits:< QAbstractButton
Inherited By:

QCommandLinkButton


【属性】

autoDefault : bool
此属性设置为true,则该按钮为自动默认按钮。
在某些GUI样式中,默认按钮周围会有一个额外的线框。对于具有QDialog父级的按钮,此属性的默认值为true;否则默认为false。

访问函数:

boolautoDefault() const
voidsetAutoDefault(bool)
default : bool
此属性保存按钮是否为默认。默认和自动默认按钮决定用户在对话框中按下回车键时会发生什么。
当用户按下回车键时,将自动按下此属性设置为true的按钮(即对话框的默认按钮),但有一个例外:如果autoDefault按钮当前具有焦点,则会按下autoDefault按钮。当对话框有autoDefault按钮但没有默认按钮时,按enter键将按下当前具有焦点的autoDefault按钮,或者如果没有按钮具有焦点,则按下焦点链中的下一个autoDefault按钮。
在对话框中,一次只能有一个按钮作为默认按钮。
默认按钮行为仅在对话框中提供。当按钮具有焦点时,始终可以通过按空格键从键盘上单击按钮。
如果在对话框可见时,当前默认按钮的默认属性设置为false,则下次对话框中的按钮获得焦点时,将自动分配新的默认值。
此属性的默认值为false。

访问函数:

boolisDefault() const
voidsetDefault(bool)
flat : bool
此属性保存按钮边框是否凸起。
此属性的默认值为false。如果设置了此属性,只有文字保持显示,按钮底色和边框只有在按下时才有呈现。setAutoFillBackground()可用于确保使用QPalette按钮笔刷填充背景。

访问函数:

boolisFlat() const
voidsetFlat(bool)

【公有函数】

QPushButton(QWidget *parent = nullptr)
构造一个没有文本的按钮。
QPushButton(const QString &text, QWidget *parent = nullptr)
构造一个带有父级和文本的按钮。
QPushButton(const QIcon &icon, const QString &text, QWidget *parent = nullptr)
构造一个带有图标、文本和父级的按钮。
注意,您还可以将QPixmap对象作为图标传递(这基于C++隐式类型转换)。
virtual ~QPushButton()
bool autoDefault() const
按钮是否为自动默认按钮。
bool isDefault() const
按钮是否为默认按钮。
bool isFlat() const
按钮边框是否凸起。
QMenu *menu() const
如果没有设置弹出菜单,则返回按钮的相关弹出菜单或nullptr。
void setAutoDefault(bool)
设置自动默认按钮。
void setDefault(bool)
设置默认按钮。默认按钮可以通过键盘空格或回车代替鼠标点击。
void setFlat(bool)
设置边框凸起。
void setMenu(QMenu *menu)
将弹出菜单与此按钮相关联。这会将按钮变成菜单按钮,在某些样式中,菜单按钮会在按钮文本的右侧生成一个小三角形。
菜单的所有权不会转移到按钮上。
一个带有弹出菜单的按钮,显示在 Fusion widget style。
另请参见:menu()。

【重新实现的公有函数】

virtual QSize minimumSizeHint() const override
重新实现的 QWidget::minimumSizeHint.
此属性返回按钮建议的最小尺寸。
如果此属性的值是无效的尺寸,则不建议使用最小尺寸。
如果此控件没有布局,则minimumSizeHint()的默认返回无效的尺寸,否则返回布局的最小尺寸。
大多数内置控件重新实现minimumSizeHint()。
除非设置了minimumSize()或将尺寸策略设置为QSizePolicy::Ignore,否则QLayout永远不会将控件的尺寸调整为小于最小尺寸提示的大小。如果设置了minimumSize(),则会忽略最小大小提示。
virtual QSize sizeHint() const override
此属性返回控件的建议尺寸。
如果此属性的值是无效的,则不建议使用任何尺寸。
如果此控件没有布局,则sizeHint()默认返回无效的尺寸,否则返回布局的首选尺寸。

【公有槽函数】

void showMenu()
显示(弹出)相关的弹出菜单。如果没有这样的菜单,此功能将不起任何作用。在用户关闭弹出菜单之前,此功能不会返回。

【受保护函数】

virtual void initStyleOption(QStyleOptionButton *option) const

使用option的值对按钮进行初始化。


【重实现保护函数】

virtual bool event(QEvent *e) override
重新实现的 QAbstractButton::event(QEvent *e)

这是主事件处理程序,原始定义是在QWidget,用户可以在任何QWidget子类中重新实现。

在键盘按下和释放事件的处理方式与其他事件不同。event() 检查 Tab 和 Shift+Tab 并尝试适当地移动焦点。如果没有要移动焦点的控件(或者按键不是 Tab 或 Shift+Tab),则 event() 调用  keyPressEvent()。

鼠标的事件处理也略有特殊,只有当控件是enabled,event() 才会调用处理程序mousePressEvent(),否则,它将丢弃该事件。

如果事件被识别,函数返回true,否则返回false。如果已识别的事件可以被接受(参阅QEvent::accepted),则任何进一步的传递(例如事件传递到父控件)都将停止。
virtual void focusInEvent(QFocusEvent *e) override 
重新实现的QAbstractButton::focusInEvent(QFocusEvent *e).
这个事件处理程序可以在子类中重新实现,以便控件接收键盘焦点事件。

控件必须将setFocusPolicy() 设置为 Qt::NoFocus 以外的值才能接收焦点事件。(请注意,程序员可以对任何控件调用 setFocus() ,即使是通常不接受焦点的控件也可以。)

这一操作默认会 updates widget(不指定 focusPolicy()的窗口除外)。
virtual void focusOutEvent(QFocusEvent *e) override

重新实现的QAbstractButton::focusOutEvent(QFocusEvent *e).

virtual bool hitButton(const QPoint &pos) const override

重新实现的 QAbstractButton::hitButton(const QPoint &pos) const.

virtual void keyPressEvent(QKeyEvent *e) override

QAbstractButton::keyPressEvent重新实现的QAbstractButton::keyPressEvent(QKeyEvent *e).

virtual void mouseMoveEvent(QMouseEvent *e) override

重新实现的 QAbstractButton::mouseMoveEvent(QMouseEvent *e).

virtual void paintEvent(QPaintEvent *) override

重新实现的QAbstractButton::paintEvent(QPaintEvent *e).


 <<< 返回上一级【QAbstractButton类】

<<< 返回根页面

  • 21
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值