rb.setChecked(True)
rb.setCheckable(False)
P.S. В таких случаях юзай дезайнер, там много полезного можно найти и узнать, в том числе и это))
apologize828Да, setCheckable(False) убирает точку, но в группе кнопок создается вот такой эффект: после присвоения этому свойству сначала False, а потом True позволяет обнулить кнопки, но затем при нажатии мышкой по любой из кнопок становится активной та кнопка, которая была нажата ранее. Что-то ничего не придумывается по решению этой проблемы :)
#!usr/bin/python
#-*- coding: utf-8 -*-
from PyQt4 import QtGui
import sys
app=QtGui.QApplication(sys.argv)
gb=QtGui.QGroupBox('РадиоКнопки')
rb1=QtGui.QRadioButton('1')
rb2=QtGui.QRadioButton('2')
rb3=QtGui.QRadioButton('3')
bt=QtGui.QPushButton('Сброс')
vb=QtGui.QVBoxLayout()
vb.addWidget(rb1)
vb.addWidget(rb2)
vb.addWidget(rb3)
vb.addWidget(bt)
gb.setLayout(vb)
a=[rb1,rb2,rb3]
def sbros():
for i in a:
i.setCheckable(False)
i.setCheckable(True)
bt.clicked.connect(sbros)
gb.show()
app.exec_()
Может я неправильно понял задачу, но тогда по подробнее пожалуйста!
apologize828Хм… да все правильно поняли, но у меня ваш код вообще странно себя ведет :) во-первых, можно нажать две или три радиокнопки одновременно, а, во-вторых, сброс не работает. А у вас я так понимаю все нормально работало?
Может я неправильно понял задачу, но тогда по подробнее пожалуйста!
#!usr/bin/python
#-*- coding: utf-8 -*-
from PyQt4 import QtGui
import sys
app=QtGui.QApplication(sys.argv)
gb=QtGui.QGroupBox('Включить/Сброс')
rb1=QtGui.QRadioButton('1')
rb2=QtGui.QRadioButton('2')
rb3=QtGui.QRadioButton('3')
vb=QtGui.QVBoxLayout()
vb.addWidget(rb1)
vb.addWidget(rb2)
vb.addWidget(rb3)
gb.setLayout(vb)
gb.setCheckable(True)
gb.setChecked(False)
a=[rb1,rb2,rb3]
def sbros():
for i in a:
i.setCheckable(False)
i.setCheckable(True)
gb.clicked.connect(sbros)
gb.show()
app.exec_()
#!usr/bin/python
#-*- coding: utf-8 -*-
from PyQt4 import QtGui
import sys
app=QtGui.QApplication(sys.argv)
gb=QtGui.QGroupBox('Включить')
rb1=QtGui.QRadioButton('1')
rb2=QtGui.QRadioButton('2')
rb3=QtGui.QRadioButton('3')
vb=QtGui.QVBoxLayout()
vb.addWidget(rb1)
vb.addWidget(rb2)
vb.addWidget(rb3)
gb.setLayout(vb)
gb.setCheckable(True)
gb.setChecked(False)
a=[rb1,rb2,rb3]
def sbros():
if gb.isChecked()==False:
for i in a:
i.setCheckable(False)
i.setCheckable(True)
gb.setTitle('Включить')
elif gb.isChecked()==True:
gb.setTitle('Обнулить Кнопки')
gb.clicked.connect(sbros)
gb.show()
app.exec_()
apologize828сойдет, благодарю очень :)
Так сойдет? или надо что-нибудь по-красивее?)
from PyQt4 import QtGui
import sys
app=QtGui.QApplication(sys.argv)
gb=QtGui.QGroupBox('РадиоКнопки')
rb1=QtGui.QRadioButton('1')
rb2=QtGui.QRadioButton('2')
rb3=QtGui.QRadioButton('3')
bt=QtGui.QPushButton('Сброс')
vb=QtGui.QVBoxLayout()
vb.addWidget(rb1)
vb.addWidget(rb2)
vb.addWidget(rb3)
vb.addWidget(bt)
gb.setLayout(vb)
a=[rb1,rb2,rb3]
def sbros():
gb.setCheckable(True)
for i in a:
i.setCheckable(False)
i.setCheckable(True)
gb.setCheckable(False)
bt.clicked.connect(sbros)
gb.show()
app.exec_()