我有一些包含單選按鈕的groupbox。我怎樣才能知道哪一個被檢查。如何從pybox中的groupbox中獲取已檢查的單選按鈕
回答
您將需要遍歷groupbox中的所有單選按鈕,並檢查每個無線電框的屬性isChecked()
。
例如:
radio1 = QtGui.QRadioButton("button 1")
radio2 = QtGui.QRadioButton("button 2")
radio3 = QtGui.QRadioButton("button 3")
for i in range(1,4):
buttonname = "radio" + str(i)
if buttonname.isChecked():
print buttonname + "is Checked"
參考,檢查http://pyqt.sourceforge.net/Docs/PyQt4/qradiobutton.html
的另一種方法是使用按鈕組。例如:
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
class MoodExample(QGroupBox):
def __init__(self):
super(MoodExample, self).__init__()
# Create an array of radio buttons
moods = [QRadioButton("Happy"), QRadioButton("Sad"), QRadioButton("Angry")]
# Set a radio button to be checked by default
moods[0].setChecked(True)
# Radio buttons usually are in a vertical layout
button_layout = QVBoxLayout()
# Create a button group for radio buttons
self.mood_button_group = QButtonGroup()
for i in xrange(len(moods)):
# Add each radio button to the button layout
button_layout.addWidget(moods[i])
# Add each radio button to the button group & give it an ID of i
self.mood_button_group.addButton(moods[i], i)
# Connect each radio button to a method to run when it's clicked
self.connect(moods[i], SIGNAL("clicked()"), self.radio_button_clicked)
# Set the layout of the group box to the button layout
self.setLayout(button_layout)
#Print out the ID & text of the checked radio button
def radio_button_clicked(self):
print(self.mood_button_group.checkedId())
print(self.mood_button_group.checkedButton().text())
app = QApplication(sys.argv)
mood_example = MoodExample()
mood_example.show()
sys.exit(app.exec_())
我發現了更多的信息請訪問:
http://codeprogress.com/python/libraries/pyqt/showPyQTExample.php?index=387&key=QButtonGroupClick
def izle(self):
radios=["radio1","radio2","radio3","radio4"]
for i in range(0,4):
selected_radio = self.ui.findChild(QtGui.QRadioButton, self.radios[i])
if selected_radio.isChecked():
print selected_radio.objectName() + "is Checked"
我設法利用指數和環的組合來解決此問題。
indexOfChecked = [self.ButtonGroup.buttons()[x].isChecked() for x in range(len(self.ButtonGroup.buttons()))].index(True)
爲什麼不簡單:'self.ButtonGroup.checkedId()'? – ekhumoro
不知何故,當我有多個按鈕組的時候,它不適用於我。我一直得到如-4,-3等條目:( – Oxymoron88
這隻會發生,如果你沒有設置一個ID添加按鈕時,所以添加他們是這樣的:'self.ButtonGroup.addButton(button,index)' 。 – ekhumoro
- 1. 如何獲取已檢查的單選按鈕的值,jQuery的
- 2. 如何檢查單選按鈕時如何獲取單選按鈕的文本?
- 3. jQuery Mobile PHP表單 - 獲取已檢查的單選按鈕值
- 4. 如何獲取Android中檢查的正確單選按鈕?
- 5. WatiN:如何檢查單選按鈕組中的單選按鈕
- 6. 單選按鈕取消選中/檢查
- 7. groupbox不充當groupbox與用戶控件中的單選按鈕
- 8. 獲取先前檢查單選按鈕
- 9. 從檢查單選按鈕
- 10. 如何從ToggleGroup中獲取選定的單選按鈕
- 11. 如何從php中獲取選定的單選按鈕值onclick
- 12. 如何檢查單選按鈕上的單選按鈕
- 13. Flash單選按鈕:如何獲取選定的單選按鈕?
- 14. PyQt在組中查找已檢查的單選按鈕
- 15. 檢查並更改單選按鈕組中的單選按鈕
- 16. 從div中的單選按鈕獲取選定的單選按鈕?
- 17. Bootstrap單選按鈕「已檢查」標誌
- 18. 如何從android中的id獲取單選按鈕的對象?
- 19. 如何獲取取消選中的單選按鈕的值?
- 20. 如何通過檢查group1中的單選按鈕來檢查group2中的單選按鈕?
- 21. 如何獲取iframe中選中的單選按鈕的值
- 22. 獲取選中單選按鈕的值
- 23. 如何檢查單選按鈕的值
- 24. GroupBox的計算(單選按鈕)
- 25. 沒有正確獲取單選按鈕中的單選按鈕
- 26. iframe中的單選按鈕檢查
- 27. 如何從expressjs中獲取表單中選定的單選按鈕值?
- 28. 如何從Xamarin Android中的單選按鈕獲取值?
- 29. 如何從插入到innerHtml中的單選按鈕獲取值
- 30. 如何從tkinter中的單選按鈕獲取值?
偉大的解決方案。但是如果我不知道有多少個單選按鈕,我該如何改變? –
在從0到大數的迭代中使用try和catch,當你得到複選框時你應該打破循環,如果複選框不存在,你應該捕獲異常。 – scottydelta