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_OBJECT

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

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值