Topic: [RISOLTO] uic.loadUi non carica il file .ui  (Letto 227 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline dciax

  • python unicellularis
  • *
  • Post: 2
  • Punti reputazione: 0
    • Mostra profilo
[RISOLTO] uic.loadUi non carica il file .ui
« il: Maggio 07, 2020, 12:07 »
Buongiorno a tutti,
sono un neofito di python e quindi mi scuso in anticipo se la mia richiesta può sembrare banale ma non sono riuscito a risolvere.
Ho generati un file .ui con Qt designer. La finestra semplicemente stampa su terminale il termine prova quando si clicca il tasto. Ho eseguito il seguente codice per usufruire dell'interfaccia in visual studio code

from PyQt5 import QtWidgets, uic

class Ui(QtWidgets.QWidget):
    def __ini__(self):
        super().__init__()
        uic.loadUi("ui.ui", self)
       

    def prova(self):
        print('prova')
       


app=QtWidgets.QApplication([])
window = Ui()


window.show()
app.exec()


il problema è che quando mando in run il programma mi apre una finestra vuota, come se non avesse trovato il file .ui, ho anke provato ad inserire il percorso del file prima del nome all'interno della funzione uic.loadUi ma il risultato è lo stesso.
Il codice dell'interfaccia è il seguente:

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(400, 300)
        self.btn = QtWidgets.QPushButton(Form)
        self.btn.setGeometry(QtCore.QRect(150, 240, 93, 28))
        self.btn.setObjectName("btn")

        self.retranslateUi(Form)
        self.btn.clicked.connect(Form.prova)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.btn.setText(_translate("Form", "Premi"))


Grazie a tutti.
« Ultima modifica: Maggio 08, 2020, 10:48 da dciax »

Offline PyPeppe

  • python unicellularis
  • *
  • Post: 31
  • Punti reputazione: 0
    • Mostra profilo
Re:uic.loadUi non carica il file .ui
« Risposta #1 il: Maggio 08, 2020, 10:14 »
Prova questa modifica....

from PyQt5 import uic
from PyQt5.QtWidgets import QApplication, QWidget

class Ui(QWidget):
    def __init__(self):
        super(Ui, self).__init__()
        uic.loadUi("ui.ui", self)

     ......

app = QApplication(sys.argv)
window = Ui()
window.show()
app.exec()


C'è anche qualche errore....
è __init__ e NON __ini__
« Ultima modifica: Maggio 08, 2020, 10:16 da PyPeppe »

Offline dciax

  • python unicellularis
  • *
  • Post: 2
  • Punti reputazione: 0
    • Mostra profilo
Re:uic.loadUi non carica il file .ui
« Risposta #2 il: Maggio 08, 2020, 10:47 »
Grazie mille  dell'aiuto funziona  :fingers-crossed: :fingers-crossed: :fingers-crossed: