mks
Спасибо. :) С вашим вариантом разобрался, а вот свой сделать рабочим так и не получилось. Пойду читать книгу, ссылку на которую дал Rodegast, видать прочтения нескольких статей в совокупности с моим умом недостаточно для понимания Qt. '(
Garry87Eclipse + PyDev
А не подскажите, существует какая-нибудь IDE с автодополнением кода QT
Garry87http://doc.qt.nokia.com/4.7/signalsandslots.html
…Как узнать что сигнал одного компонента можно связать со слотом другого?…
from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(422, 300)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.timeEdit = QtGui.QTimeEdit(self.centralwidget)
self.timeEdit.setGeometry(QtCore.QRect(40, 40, 118, 27))
self.timeEdit.setObjectName(_fromUtf8("timeEdit"))
self.label = QtGui.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(180, 40, 67, 17))
self.label.setObjectName(_fromUtf8("label"))
self.pushButton = QtGui.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(130, 100, 97, 27))
self.pushButton.setObjectName(_fromUtf8("pushButton"))
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 422, 25))
self.menubar.setObjectName(_fromUtf8("menubar"))
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName(_fromUtf8("statusbar"))
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
self.pushButton.clicked.connect(self.slotPushButtonPress)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "MainWindow", None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton.setText(QtGui.QApplication.translate("MainWindow", "PushButton", None, QtGui.QApplication.UnicodeUTF8))
def slotPushButtonPress(self):
self.label.setText(self.timeEdit.timeChanged())
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
void dateChanged (const QDate & date)
QDate date () const
void dateChanged (const QDate & date)
Garry87В первом приближении да. Дело в том что библиотека Qt написана на С++, pyqt это просто обёртки для python над С++ функциями и классами.
Во-вторых методы == Public Functions?
void dateChanged (const QDate & date)
Garry87Да, сначала тип возвращаемого значения, а в скобках типы и количество принимаемых аргументов, в данном случае передача константной ссылкой. Если это не знакомо, изучите азы языка С++.
Видимо, сначала идет тип возвращаемого значения, потом название метода, а что указывается в скобках? И не могли бы Вы коротенько объяснить какой синтаксис используется при вызове методов?
from PyQt4 import Qt
import sys
if __name__ == "__main__" :
app = Qt.QApplication(sys.argv)
window = Qt.QWidget()
window.setWindowTitle("Enter a number")
layout = Qt.QHBoxLayout()
window.setLayout(layout)
slider = Qt.QSlider(Qt.Qt.Horizontal)
slider.setRange(0, 100)
layout.addWidget(slider)
spinbox = Qt.QSpinBox()
spinbox.setRange(0, 100)
layout.addWidget(spinbox)
timeEdit = Qt.QTimeEdit()
layout.addWidget(timeEdit)
label = Qt.QLabel()
layout.addWidget(label)
lineedit = Qt.QLineEdit()
layout.addWidget(lineedit)
Qt.QObject.connect(slider, Qt.SIGNAL("valueChanged(int)"), spinbox.setValue)
Qt.QObject.connect(spinbox, Qt.SIGNAL("valueChanged(int)"), slider.setValue)
Qt.QObject.connect(timeEdit, Qt.SIGNAL("timeChanged(int)"), label.setText)
slider.setValue(25)
window.show()
app.exec_()