QRadioButton 繼承圖:
它是按鈕中的第四個類別,就是個單選按鈕!
QRadioButton 描述:
QRadioButton 繼承:
它的父類是QAbstractButton
QRadioButton 功能作用:
創建按鈕控件:

1 from PyQt5.Qt import * #剛開始學習可以這樣一下導入 2 import sys 3 #1,創建app 4 app = QApplication(sys.argv) 5 6 7 #2,控件的操作: 8 #創建控件 9 window = QWidget() 10 11 12 #設置控件 13 window.setWindowTitle("QRadioButton") 14 window.resize(500,500) 15 16 17 radio_button_1 = QRadioButton("男",window) 18 radio_button_1.move(100,100) 19 radio_button_1.setIcon(QIcon("icon.ico")) 20 # radio_button_1.setChecked(True) # 它是默認選中 21 22 23 radio_button_2 = QRadioButton("女",window) 24 radio_button_2.move(100,200) 25 radio_button_2.setIcon(QIcon("icon.ico")) 26 27 #展示控件 28 window.show() 29 30 #3,進入消息循環 31 sys.exit(app.exec_())
設置快捷鍵:
使用& :

from PyQt5.Qt import * #剛開始學習可以這樣一下導入 import sys #1,創建app app = QApplication(sys.argv) #2,控件的操作: #創建控件 window = QWidget() #設置控件 window.setWindowTitle("QRadioButton") window.resize(500,500) radio_button_1 = QRadioButton("男-&Male",window) radio_button_1.move(100,100) radio_button_1.setIcon(QIcon("icon.ico")) # radio_button_1.setChecked(True) # 它是默認選中 radio_button_2 = QRadioButton("女-&Female",window) radio_button_2.move(100,200) radio_button_2.setIcon(QIcon("icon.ico")) #展示控件 window.show() #3,進入消息循環 sys.exit(app.exec_())
使用setshortcut

from PyQt5.Qt import * #剛開始學習可以這樣一下導入 import sys #1,創建app app = QApplication(sys.argv) #2,控件的操作: #創建控件 window = QWidget() #設置控件 window.setWindowTitle("QRadioButton") window.resize(500,500) radio_button_1 = QRadioButton("男-Male",window) radio_button_1.move(100,100) radio_button_1.setIcon(QIcon("icon.ico")) radio_button_1.setShortcut("Ctrl+M") # radio_button_1.setChecked(True) # 它是默認選中 radio_button_2 = QRadioButton("女-Famale",window) radio_button_2.move(100,200) radio_button_2.setIcon(QIcon("icon.ico")) radio_button_2.setShortcut("Ctrl+F") #展示控件 window.show() #3,進入消息循環 sys.exit(app.exec_())
QRadioButton 信號:
它的信號和父類中的信號一樣。
它最常用的是toggle切換狀態信號。

from PyQt5.Qt import * #剛開始學習可以這樣一下導入 import sys #1,創建app app = QApplication(sys.argv) #2,控件的操作: #創建控件 window = QWidget() #設置控件 window.setWindowTitle("QRadioButton") window.resize(500,500) radio_button_1 = QRadioButton("男-Male",window) radio_button_1.move(100,100) radio_button_1.setIcon(QIcon("icon.ico")) radio_button_1.setShortcut("Ctrl+M") # radio_button_1.setChecked(True) # 它是默認選中 radio_button_2 = QRadioButton("女-Famale",window) radio_button_2.move(100,200) radio_button_2.setIcon(QIcon("icon.ico")) radio_button_2.setShortcut("Ctrl+F") ########################################################### radio_button_2.toggled.connect(lambda :print("女 發送狀態切換")) ########################################################### #展示控件 window.show() #3,進入消息循環 sys.exit(app.exec_())
如何將單選中的一個選項給剝離出呢?
通過setAutoExclusive(False) 設置

from PyQt5.Qt import * #剛開始學習可以這樣一下導入 import sys #1,創建app app = QApplication(sys.argv) #2,控件的操作: #創建控件 window = QWidget() #設置控件 window.setWindowTitle("QRadioButton") window.resize(500,500) radio_button_1 = QRadioButton("男-Male",window) radio_button_1.move(100,100) radio_button_1.setIcon(QIcon("icon.ico")) radio_button_1.setShortcut("Ctrl+M") # radio_button_1.setChecked(True) # 它是默認選中 radio_button_2 = QRadioButton("女-Famale",window) radio_button_2.move(100,200) radio_button_2.setIcon(QIcon("icon.ico")) radio_button_2.setShortcut("Ctrl+F") radio_button_3 = QRadioButton("女-Famale",window) radio_button_3.move(100,300) radio_button_3.setIcon(QIcon("icon.ico")) radio_button_3.setShortcut("Ctrl+F") ########################################################### radio_button_1.setAutoExclusive(False) # 此時將第一個 拿出來了,另外兩個可單選 ########################################################### #展示控件 window.show() #3,進入消息循環 sys.exit(app.exec_()) 3
補充:

from PyQt5.Qt import * #剛開始學習可以這樣一下導入 import sys #1,創建app app = QApplication(sys.argv) #2,控件的操作: #創建控件 window = QWidget() #設置控件 window.setWindowTitle("QRadioButton") window.resize(500,500) radio_button_1 = QRadioButton("男-Male",window) radio_button_1.move(100,100) radio_button_1.setIcon(QIcon("icon.ico")) radio_button_1.setShortcut("Ctrl+M") # radio_button_1.setChecked(True) # 它是默認選中 radio_button_2 = QRadioButton("女-Famale",window) radio_button_2.move(100,200) radio_button_2.setIcon(QIcon("icon.ico")) radio_button_2.setShortcut("Ctrl+F") radio_button_yes = QRadioButton("yes",window) radio_button_yes.move(300,100) radio_button_no = QRadioButton("yes",window) radio_button_no.move(300,200) #展示控件 window.show() #3,進入消息循環 sys.exit(app.exec_()) 3
如何解決,讓它變成分組互斥(分組單選)?
第一種方案是將它們分別放到兩個控件上。
但是,這樣的方法不好弄,很麻煩!
第二種方案:
我們通過下面的一個控件類QButtonGroup 來解決!
見鏈接:https://www.cnblogs.com/zach0812/p/11372320.html
總結:
以上就是有關單選按鈕,
下面看多選按鈕 QCheckBox:https://www.cnblogs.com/zach0812/p/11372324.html