Я подключаю QPushButton, в котором он будет либо скрывать / показывать виджеты внутри фрейма.
Я загрузил / создал свой графический интерфейс с помощью метода .ui
.
Для этого QPushButton, Я установил и проверил атрибут setChecked
.
class MyWindow(QtGui.QWidget):
def __init__(self):
...
# self.informationVisBtn, `setChecked` and `setCheckable` field is checked in the .ui file
self.informationVisBtn.toggled.connect(self.setInfoVis)
def setInfoVis(self):
self.toggleVisibility(
self.informationVisBtn.isChecked()
)
def toggleVisibility(self, value):
if value:
self.uiInformationFrame.show()
self.informationVisBtn.setText("-")
else:
self.uiInformationFrame.hide()
self.informationVisBtn.setText("+")
Во время загрузки моего кода с первой попытки, я заметил, что informationVisBtn
, пока он проверяется, отображается рамка, нотекст не был установлен на -
и вместо этого он остается как +
, как установлено в моем файле .ui.
Если только в __init__()
, если я добавлю setInfoVis()
перед установкой соединения, только текст будет заполнен правильно.
Разве использование toggled
не вызывает состояние в начале?Заранее благодарны за любые ответы.