QT6 源(72):阅读与注释单选框这个类型的按钮 QRadioButton,及各种属性验证,
(1)按钮间的互斥:
(2)源码来自于头文件 qradiobutton . h :
#ifndef QRADIOBUTTON_H
#define QRADIOBUTTON_H#include <QtWidgets/qtwidgetsglobal.h>
#include <QtWidgets/qabstractbutton.h>QT_REQUIRE_CONFIG(radiobutton);QT_BEGIN_NAMESPACE // 说明本单选框定义在 QT 的全局命名空间里class QRadioButtonPrivate;
class QStyleOptionButton;/*
QRadioButton是一个选项按钮,可以打开(选中)或关闭(不选中)。
收音机按钮通常向用户提供“众多选择中的一个”。
在一组单选按钮中,一次只能检查一个单选按钮;如果用户选择另一个按钮则先前选择的按钮被关闭。
默认情况下,单选按钮是自动排他的。
如果启用了自动排他,则属于同一父控件的单选按钮的行为就像它们是同一排他按钮组的一部分。
如果您需要为属于同一父控件的单选按钮创建多个排他按钮组,请将其放入OButtonGroup 中。每当按钮被打开或关闭时,它会发出 toggled信号。
如果您想每次按钮状态改变时触发一个动作,请连接到这个信号。
使用isChecked()检查特定的按钮是否被选中。
就像OPushButton一样,单选按钮显示文字,还可以选择显示一个小图标。
图标设置为setlcon()。文本可以在构造函数中设置,也可以用setText()设置。
可以通过在文本中首选字符的前面加上 &号来指定快捷键。例如:QRadioButton * button = new QRadioButton("Search from the &cursor", this);*/class Q_WIDGETS_EXPORT QRadioButton : public QAbstractButton
{Q_OBJECTprivate:Q_DECLARE_PRIVATE(QRadioButton)Q_DISABLE_COPY(QRadioButton)friend class QAccessibleButton;public:explicit QRadioButton(QWidget * parent = nullptr);explicit QRadioButton(const QString & text, QWidget * parent = nullptr);~QRadioButton();QSize sizeHint() const override;QSize minimumSizeHint() const override;protected:virtual void initStyleOption(QStyleOptionButton *button) const;bool hitButton(const QPoint &) const override;bool event(QEvent *e) override;void paintEvent(QPaintEvent *) override;void mouseMoveEvent(QMouseEvent *) override;}; //单选框类没有在基类的基础上添加任何新的属性QT_END_NAMESPACE#endif // QRADIOBUTTON_H
(3)
谢谢