(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)
謝謝