0
点赞
收藏
分享

微信扫一扫

Qt第二解:学会看文档(Assistance)


学会看文档(Assistance)

  • ​​QPushButton​​
  • ​​Contents​​
  • ​​QPushButton Class​​
  • ​​Properties​​
  • ​​Public Functions​​
  • ​​Reimplemented Public Functions​​
  • ​​Public Slots​​
  • ​​Static Public Members​​
  • ​​Protected Functions​​
  • ​​Reimplemented Protected Functions​​
  • ​​Additional Inherited Members​​
  • ​​Detailed Description​​
  • ​​Property Documentation​​
  • ​​Member Function Documentation​​

一个框架,我们首先要熟悉这个框架,而熟悉框架最有效的方法,就是看官方文档。

以QPushButton为例

QPushButton

Contents

Properties:属性

Public Functions:公有函数

Reimplemented Public Functions:重载公有函数

Public Slots:公有槽函数

Static Public Members:静态公有成员

Protected Functions:保护函数

Reimplemented Protected Functions:重载保护函数

Detailed Description:细节描述

QPushButton Class

这个控件提供了一个命令式按钮

Header(头文件):#include < QPushButton >

qmake(make工具):QT += widgets

Inherits(继承自):QAbstractButton

Inherited By(继承):QCommandLinkButton

Properties

  • autoDefault : bool
  • default : bool
  • flat : bool
  • 11个继承自QAbstractButton
  • 59个继承自QWidget
  • 1个继承自QObject

这些后面细节描述再做概述

Public Functions

三个构造函数

// parent:指明基础控件
QPushButton(QWidget *parent = nullptr)
// text:按钮文本信息
QPushButton(const QString &text, QWidget *parent = nullptr)
// icon:按钮的icon
QPushButton(const QIcon &icon, const QString &text, QWidget *parent = nullptr)

析构函数

virtual ~QPushButton()

其他方法

bool autoDefault() const
bool isDefault() const
bool isFlat() const
QMenu *menu() const
void setAutoDefault(bool)
void setDefault(bool)
void setFlat(bool)
void setMenu(QMenu *menu)

Reimplemented Public Functions

virtual QSize minimumSizeHint() const override
virtual QSize sizeHint() const override

  • 21个继承自QAbstractButton
  • 214个继承自QWidget
  • 31个继承自QObject
  • 14个继承自QPaintDevice

Public Slots

void showMenu()

  • 5个继承自QAbstractButton
  • 19个继承自QWidget
  • 1个继承自QObject

Static Public Members

const QMetaObject staticMetaObject

  • 5个继承自QWidget
  • 9个继承自QObject

Protected Functions

void initStyleOption(QStyleOptionButton *option) const

Reimplemented Protected Functions

virtual bool event(QEvent *e) override
virtual void focusInEvent(QFocusEvent *e) override
virtual void focusOutEvent(QFocusEvent *e) override
virtual void keyPressEvent(QKeyEvent *e) override
virtual void paintEvent(QPaintEvent *) override

  • 14个继承自QAbstractButton
  • 35个继承自QWidget
  • 9个继承自QObject
  • 1个继承自QPaintDevice

Additional Inherited Members

  • 4个信号继承自QAbstractButton
  • 3个信号继承自QWidget
  • 2个信号继承自QObject
  • 1个保护槽函数继承自QWidget

Detailed Description

这个控件QPushButton提供了一个命令式按钮

Qt第二解:学会看文档(Assistance)_qt


按钮或命令按钮可能是任何图形用户界面中最常用的小部件。按(点击)按钮来命令计算机执行某些操作,或回答一个问题。典型的按钮有“OK”、“Apply”、“Cancel”、“Close”、“Yes”、“No”和“Help”。

命令按钮是矩形的,通常显示一个描述其操作的文本标签。可以通过在文本中使用&符号在首选字符前面指定快捷键。例如:

QPushButton *button = new QPushButton("&Download", this);

按钮显示一个文本标签,还有一个小图标。这些可以使用构造函数进行设置,稍后可以使用setText()和setIcon()进行更改。如果按钮被禁用,文本和图标的外观将根据GUI样式进行操作,使按钮看起来“禁用”。

当鼠标、空格键或键盘快捷键激活按钮时,按钮会发出clicked()信号。连接到这个信号来执行按钮的动作。按钮还提供不常用的信号,例如pressed()和released()。

对话框中的命令按钮是默认的自动默认按钮,也就是说,当它们接收到键盘输入焦点时,就会自动成为默认按钮。默认按钮是当用户在对话框中按下Enter或Return键时激活的按钮。您可以使用setAutoDefault()来更改它。请注意,自动默认按钮预留了一些额外的空间,这是绘制默认按钮指示器所必需的。如果你不希望按钮周围有空格,调用setAutoDefault(false)。

一般情况下,当用户单击应用程序或对话框窗口时(例如Apply、Cancel、Close和Help)执行操作,以及当小部件应该具有带有文本标签的宽矩形形状时,请使用按钮。用于改变窗口状态而不是执行操作的小的、通常为方形的按钮(例如QFileDialog右上角的按钮)不是命令按钮,而是工具按钮。Qt为这些按钮提供了一个特殊的类(QToolButton)。

这些相关的类在此先不做概述。

Property Documentation

autoDefault : bool

此属性保存按钮是否为自动默认按钮
如果此属性设置为true,则按钮是自动默认按钮。
在一些GUI样式中,默认按钮周围会有一个额外的框架,最多3个像素或更多。Qt自动在自动默认按钮周围保留空间,也就是说,自动默认按钮可能有一个稍微大一点的大小提示。
比如

// 判断这个按钮是否是自动默认按钮
bool autoDefault() const
// 将这个按钮是否设置为自动默认按钮
void setAutoDefault(bool)

其他类似

Member Function Documentation

QPushButton::QPushButton(const QString &text, QWidget *parent = nullptr)
// Constructs a push button with the parent parent and the text text.

构建一个带有文本和parent的按钮,如

QPushButton *button = new QPushButton("&Download", this);

再来看一个

bool QPushButton::event(QEvent *e)
// Reimplemented from QAbstractButton::event().

这个重载可以一直CTRL+点击可以看到描述:

这是主事件处理程序;它处理事件事件。您可以在子类中重新实现此函数,但我们建议使用专门化的事件处理程序之一。
按键按住和松开事件不同于其他事件。event()检查Tab和Shift+Tab,并尝试适当移动焦点。如果没有小部件来移动焦点(或按下的键不是Tab或Shift+Tab),事件()调用keyPressEvent()。
鼠标和平板电脑事件处理也有点特殊:只有当小部件被启用时,event()才会调用mousePressEvent()等特殊处理程序;否则它将丢弃该事件。
如果事件被识别,这个函数返回true,否则返回false。如果已识别的事件被接受(请参阅QEvent::accepted),则任何进一步的处理(如将事件传播到父小部件)将停止。

QEvent* e = new QEvent(QEvent::Hide);


举报

相关推荐

0 条评论