Форум сайта python.su
Или не хочет реагировать на сигнал. Не знаю уже кто чего не хочет.
Оу! А где у вас кнопка вложить файл??? Как я должен показывать текст своей программы? Прям в сообщение впихивать? Ну, держите:
ui - файл описывающий форму
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>forma</class>
<widget class="QMainWindow" name="forma">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QComboBox" name="comboBox">
<property name="geometry">
<rect>
<x>70</x>
<y>110</y>
<width>651</width>
<height>22</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>285</x>
<y>190</y>
<width>191</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>350</x>
<y>370</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>
from PyQt4 import QtCore, QtGui, uic
import sys
def byaka():
form.label.setText(form.comboBox.currentText())
#form.label.setText("Я злой как чёрт!")
app = QtGui.QApplication(sys.argv)
form = uic.loadUi("gadost.ui")
kaka = ["one", "two", "three", "four"]
for i in kaka:
form.comboBox.addItem(i)
QtCore.QObject.connect(form.comboBox, QtCore.SIGNAL("currentIndexChanged()"), byaka)
QtCore.QObject.connect(form.pushButton, QtCore.SIGNAL("clicked()"), byaka)
form.show()
sys.exit(app.exec_())
Офлайн
> QtCore.QObject.connect(form.comboBox, QtCore.SIGNAL(“currentIndexChanged()”), byaka)
Нет сигнала currentIndexChanged() есть currentIndexChanged(int).
Офлайн
form.comboBox.currentIndexChanged[int].connect(byaka)
form.pushButton.clicked.connect(byaka)
Офлайн
Агромадное спасибо всем!
Вечером дома попробую. Видел в QDesigner'е, что сигнал currentIndexChanged чего-то там вместе с какими-то int и QString написан, но не понял что это да как это, и причём тут эти типы данных. А, оказывается, вон оно как надо!
Кстати, вариант написания кода от Studentik мне нравится больше!
Только я не совсем понимаю, что этот int тут значит? Кому этот int передаётся? Что он хранит? Индекс в комбобоксе? А если туда QString вписать, то что будет?
Офлайн
> Только я не совсем понимаю, что этот int тут значит? Кому этот int передаётся? Что он хранит? Индекс в комбобоксе?
Да это индекс, он передаётся слоту (в твоём случае это byaka).
Офлайн