Найти - Пользователи
Полная версия: PyQt получить событие с *.ui
Начало » GUI » PyQt получить событие с *.ui
1
verstal4ik
Подключаю форму вот так, без компиляции в *.py

from PyQt4 import QtCore, QtGui, uic
import sys
class DemoImpl(QtGui.QDialog):
def __init__(self, *args):
QtGui.QWidget.__init__(self, *args)
uic.loadUi(“project.ui”, self)
app = QtGui.QApplication(sys.argv)
widget = DemoImpl()
widget.show()
app.exec_()

Как обратиться к project.ui и с него уже получить сигнал о нажатие клавиши?

python 2.7, PyQt 4.4, win7
reclosedev
verstal4ik
Как обратиться к project.ui и с него уже получить сигнал о нажатие клавиши?
Имеется ввиду кнопки QPushButton?
verstal4ik
без компиляции в *.py
Т.к. вы передаете в loadUi self, то все виджеты будут доступны через self.
Т.е. если objectName задан (например, “pushButton1”), то через self.pushButton1 можно соединять сигналы
self.pushButton1.clicked.connect(self.do_something)

А если, все-таки, речь идет о нажатии клавиш клавиатуры, то вам нужно в классе DemoImpl переопределить метод keyPressEvent

class DemoImpl(QtGui.QDialog):
    ...
    def keyPressEvent(self, e):
        print e.key()  # or do something else

http://zetcode.com/tutorials/pyqt4/eventsandsignals/
verstal4ik
reclosedev
self.pushButton1.clicked.connect(self.do_something)
Спасибо, т.о. работает.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB