Ricerca…


Osservazioni

PyQt è un collegamento Python al popolare framework per applicazioni Qt multipiattaforma comunemente usato per creare applicazioni grafiche. PyQt4 supporta Qt4 e PyQt5 supporta Qt5. Funziona su tutte le piattaforme supportate da Qt (Windows, OS X, Linux, iOS e Android). I bind sono implementati come un insieme di moduli e classi Python.

Per ulteriori informazioni consultare il sito Web PyQt .

Installazione di PyQt4

Metodo di installazione suggerito

Windows : scarica ed esegui il file di configurazione binaria .

Linux (Debian) : esegui questo comando nella tua riga di comando:

$ apt-get install python-qt4 pyqt4-dev-tools qt4-designer

OS X : esegui questo comando nella tua riga di comando:

$ brew install pyqt

Installa manualmente

Puoi anche scaricare manualmente il codice sorgente da qui e quindi installarlo e configurarlo da solo.

Metti alla prova la tua installazione

Se pyqt è installato correttamente, sarai in grado di eseguire il comando pyuic4 . Se è installato correttamente, vedrai il seguente errore:

$ pyuic4 
Error: one input ui-file must be specified

Installazione completata

Ora hai installato la libreria PyQt4. Sono state installate anche due utili applicazioni sul lato PyQt4:

  • Qt Designer: un'applicazione per il design "drag & drop" di interfacce grafiche (crea file .ui ),
  • pyuic4: un'applicazione a riga di comando in grado di convertire i file .ui in codice Python.

Un'applicazione di base

L'esempio seguente mostra una finestra GUI principale di base con un widget etichetta, una barra degli strumenti e una barra di stato che utilizza PyQt4.

import sys
from PyQt4 import QtGui


class App(QtGui.QApplication):
    def __init__(self, sys_argv):
        super(App, self).__init__(sys_argv)
        self.build_ui()

    def build_ui(self):
        # build a main GUI window
        self.main_window = QtGui.QMainWindow()
        self.main_window.setWindowTitle('App')
        self.main_window.show()

        # add a label to the main window
        label = QtGui.QLabel('Label')
        self.main_window.setCentralWidget(label)

        # add a toolbar with an action button to the main window
        action = QtGui.QAction('Toolbar action', self)
        toolbar = QtGui.QToolBar()
        toolbar.addAction(action)
        self.main_window.addToolBar(toolbar)

        # add a status bar to the main window
        status_bar = QtGui.QStatusBar()
        status_bar.showMessage('Status bar')
        self.main_window.setStatusBar(status_bar)


if __name__ == '__main__':
    app = App(sys.argv)
    sys.exit(app.exec_())

Ciao mondo

Questo codice base avvierà una finestra della GUI "Hello world" usando PyQt4:

import sys
from PyQt4 import QtGui

# create instance of QApplication
app = QtGui.QApplication(sys.argv)

# create QLabel, without parent it will be shown as window
label = QtGui.QLabel('Hello world!')
label.show()

# start the execution loop of the application
sys.exit(app.exec_())

Questo è lo stesso codice usando PyQt5.

import sys
from PyQt5 import QtWidgets

# create instance of QApplication    
app = QtWidgets.QApplication(sys.argv)

# create QLabel, without parent it will be shown as window
label = QtWidgets.QLabel('Hello world!')
label.show()

# start the execution loop of the application
sys.exit(app.exec_())

Un semplice esempio di trascinamento

Crea una semplice applicazione GUI in 3 semplici passaggi.

1. Design

Apri Qt Creator , crea un nuovo progetto e crea il tuo design. Salvare il risultato come .ui di file (qui: mainwindow.ui ).

Un esempio di un widget

2. Genera il file .py corrispondente

Ora puoi creare un file .py dal tuo file .ui che hai generato nel passaggio precedente. Inserisci il seguente nella riga di comando:

$ pyuic4 mainwindow.ui -o GUI.py

Se la riga precedente viene eseguita correttamente, viene creato un file GUI.py

3. Codici Python

È possibile aggiungere il proprio codice (ad es. Segnali e slot) nel file GUI.py ma è meglio aggiungerli in un nuovo file. Se si desidera apportare modifiche alla GUI, il file GUI.py verrà sovrascritto. Ecco perché utilizzare un altro file per aggiungere funzionalità è migliore nella maggior parte dei casi.

Chiamiamo il nuovo file main.py

from PyQt4 import QtGui
import sys
import GUI # Your generated .py file


class MyApp(QtGui.QMainWindow, GUI.Ui_MainWindow):
    def __init__(self, parent=None):
        super(ExampleApp, self).__init__(parent)
        self.setupUi(self)

        # Connect a button to a function
        self.btn_run.clicked.connect(self.run)

    def run(self):
        # Write here what happens after the button press
        print("run")


if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    form = ExampleApp()
    form.show()
    app.exec_()

Ora puoi eseguire main.py e vedere la tua GUI.

Produzione



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow