ficofico
04-05-2009, 18:25
Ciao a tutti, sto cercando di capire i fondamenti della programmazione python, nel tempo perso sto guardando un pò l'interfacciamento tra python e i programmi di creazione visuale di gui.
Sono su gentoo, come ide uso Geany,e ho le Qt4 installate.
Io vorrei solo capire quali sono le istruzioni necessarie per fare vedere la mia gui, digitando python nomescript.py
Inannzi tutto ho creato una gui minimale con qt designer e l'ho trasformata in oggetto grazie a Pyuic4 e questo è il codice:
gui.py :
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'gui.ui'
#
# Created: Mon May 4 19:07:54 2009
# by: PyQt4 UI code generator 4.4.4
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
class Ui_finestra(object):
def setupUi(self, finestra):
finestra.setObjectName("finestra")
finestra.resize(508, 405)
self.lista = QtGui.QListView(finestra)
self.lista.setGeometry(QtCore.QRect(110, 70, 256, 192))
self.lista.setObjectName("lista")
self.tasto1 = QtGui.QPushButton(finestra)
self.tasto1.setGeometry(QtCore.QRect(100, 290, 106, 27))
self.tasto1.setObjectName("tasto1")
self.tasto2 = QtGui.QPushButton(finestra)
self.tasto2.setGeometry(QtCore.QRect(250, 290, 106, 27))
self.tasto2.setObjectName("tasto2")
self.retranslateUi(finestra)
QtCore.QObject.connect(self.tasto1, QtCore.SIGNAL("clicked()"), self.lista.setFocus)
QtCore.QObject.connect(self.tasto2, QtCore.SIGNAL("clicked()"), self.lista.setFocus)
QtCore.QMetaObject.connectSlotsByName(finestra)
def retranslateUi(self, finestra):
finestra.setWindowTitle(QtGui.QApplication.translate("finestra", "Dialog", None, QtGui.QApplication.UnicodeUTF8))
self.tasto1.setText(QtGui.QApplication.translate("finestra", "Scrivi ciao", None, QtGui.QApplication.UnicodeUTF8))
self.tasto2.setText(QtGui.QApplication.translate("finestra", "Scrivi ok", None, QtGui.QApplication.UnicodeUTF8))
Ora ho creato un'altro file python con solo queste righe, ovviamente il file risiede nella stessa cartella di gui.py
programma.py:
import sys
from qt import *
from gui import Ui_finestra
Ora potrei provare a creare io def __init__ ..... però preferisco avere dei chiarimenti esatti , anche semplicistici, che riescano a farmi capire come strutturare il codice in maniera esatta, senza copiare quà e là... :D
Mi serve solo una piccola guida, poi mi arrangio da solo.... ( forse :D )
Sono su gentoo, come ide uso Geany,e ho le Qt4 installate.
Io vorrei solo capire quali sono le istruzioni necessarie per fare vedere la mia gui, digitando python nomescript.py
Inannzi tutto ho creato una gui minimale con qt designer e l'ho trasformata in oggetto grazie a Pyuic4 e questo è il codice:
gui.py :
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'gui.ui'
#
# Created: Mon May 4 19:07:54 2009
# by: PyQt4 UI code generator 4.4.4
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
class Ui_finestra(object):
def setupUi(self, finestra):
finestra.setObjectName("finestra")
finestra.resize(508, 405)
self.lista = QtGui.QListView(finestra)
self.lista.setGeometry(QtCore.QRect(110, 70, 256, 192))
self.lista.setObjectName("lista")
self.tasto1 = QtGui.QPushButton(finestra)
self.tasto1.setGeometry(QtCore.QRect(100, 290, 106, 27))
self.tasto1.setObjectName("tasto1")
self.tasto2 = QtGui.QPushButton(finestra)
self.tasto2.setGeometry(QtCore.QRect(250, 290, 106, 27))
self.tasto2.setObjectName("tasto2")
self.retranslateUi(finestra)
QtCore.QObject.connect(self.tasto1, QtCore.SIGNAL("clicked()"), self.lista.setFocus)
QtCore.QObject.connect(self.tasto2, QtCore.SIGNAL("clicked()"), self.lista.setFocus)
QtCore.QMetaObject.connectSlotsByName(finestra)
def retranslateUi(self, finestra):
finestra.setWindowTitle(QtGui.QApplication.translate("finestra", "Dialog", None, QtGui.QApplication.UnicodeUTF8))
self.tasto1.setText(QtGui.QApplication.translate("finestra", "Scrivi ciao", None, QtGui.QApplication.UnicodeUTF8))
self.tasto2.setText(QtGui.QApplication.translate("finestra", "Scrivi ok", None, QtGui.QApplication.UnicodeUTF8))
Ora ho creato un'altro file python con solo queste righe, ovviamente il file risiede nella stessa cartella di gui.py
programma.py:
import sys
from qt import *
from gui import Ui_finestra
Ora potrei provare a creare io def __init__ ..... però preferisco avere dei chiarimenti esatti , anche semplicistici, che riescano a farmi capire come strutturare il codice in maniera esatta, senza copiare quà e là... :D
Mi serve solo una piccola guida, poi mi arrangio da solo.... ( forse :D )