User:Axiom: Difference between revisions

From KDE TechBase
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()

  1. 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

  1. 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.