[PyQt] Trying to learn ...
Magnus Wirström
asdlinux71 at gmail.com
Mon Aug 1 21:20:32 BST 2011
Hi
I am sorry if this have been asked before :)
I am trying to learn using python and pyqt using ERIC 5.1.2. I have a
problem with signals and slots. I tried this on 2 different computer
with different OS and different version of python. My problem is
this...
I am creating a "test" project using Eric ... using one of the
tuturials on Eric's webpage. I create a project and a form, then i add
a push button. I save the form and i generate the form into code using
Eric I also generate dialog code and adding a slot for my push button.
So far i have not written a single line of code. In my slot i write a
print("Hello"), My only self written code. When i run this, i get a
window with my button but when i click it nothing happens. When have i
done wrong? How can i get my button to execute the slot?
thanks for the help ... sorry if this is a stupid question ;)
Here is the code:
# Form implementation generated from reading ui file
'/home/magnus/eric/test/testui.ui'
#
# Created: Mon Aug 1 22:16:17 2011
# by: PyQt4 UI code generator 4.8.4
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName(_fromUtf8("Dialog"))
Dialog.resize(400, 300)
self.pushButton = QtGui.QPushButton(Dialog)
self.pushButton.setGeometry(QtCore.QRect(140, 130, 83, 25))
self.pushButton.setObjectName(_fromUtf8("pushButton"))
self.retranslateUi(Dialog)
QtCore.QObject.connect(self.pushButton,
QtCore.SIGNAL(_fromUtf8("clicked()")), Dialog.exec)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog",
"Dialog", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton.setText(QtGui.QApplication.translate("Dialog",
"PushButton", None, QtGui.QApplication.UnicodeUTF8))
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
Dialog = QtGui.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
sys.exit(app.exec_())
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# -*- coding: utf-8 -*-
"""
Module implementing Dialog.
"""
from PyQt4.QtCore import *
from PyQt4.QtGui import QDialog
from .Ui_testui import Ui_Dialog
class Dialog(QDialog, Ui_Dialog):
"""
Class documentation goes here.
"""
def __init__(self, parent = None):
"""
Constructor
@param parent reference to the parent widget (QWidget)
"""
QDialog.__init__(self, parent)
self.setupUi(self)
QtCore.QObject.connect(self.pushButton,
QtCore.SIGNAL(_fromUtf8("clicked()")), self.on_pushButton_clicked())
@pyqtSlot()
def on_pushButton_clicked(self):
"""
Slot documentation goes here.
"""
print("hello")
More information about the PyQt
mailing list