User:Axiom: Difference between revisions
No edit summary |
|||
Line 54: | Line 54: | ||
</code> | </code> | ||
You will need [[this file|User:Axiom/demo.ui]] too. |
Revision as of 22:48, 21 January 2007
Axiom's sandbox
I am just putting some stuff here right now, because you have such nice color coding in your wiki. Maybe I'll turn it into a tutorial if I figure out what I am doing.
Dynamically Loading a .ui file
I found this snippet here (french). I don't know if this is the right way to do it, but it seems to work.
loadui.py
import sys
from PyQt4 import QtGui, uic
app = QtGui.QApplication(sys.argv)
widget = uic.loadUi("demo.ui")
widget.show()
- La boucle principale
app.exec_()
Of course you will need to make a ui file called demo.ui for this to work.
Connecting Buttons From Dynamically loaded .ui File
This code really works.
loaddialog.py
import sys
from PyQt4 import QtGui
from PyQt4 import uic
from PyQt4 import QtCore
- the class has to have the same base class as your UI
class DemoImpl(QtGui.QMainWindow):
def __init__(self, *args):
QtGui.QMainWindow.__init__(self, *args)
# just pass self
uic.loadUi("mainWindow.ui", self)
#this line makes sure that we are only looking for a string
#if we want a bool as well we can add @QtCore.pyqtSignature("bool")
@QtCore.pyqtSignature("")
def on_button1_clicked(self):
print "You Clicked the button!"
@QtCore.pyqtSignature("")
def on_button2_clicked(self):
print "You Clicked the button2!"
app = QtGui.QApplication(sys.argv)
widget = DemoImpl()
widget.show()
app.exec_()
You will need User:Axiom/demo.ui too.