Qt (Cute) est un framework d'interface utilisateur d'application (UI) écrit en langage C ++.
Qt est largement connu comme une boîte à outils GUI, mais il est également largement utilisé dans les programmes non-GUI tels que les outils de console et les serveurs. De Wikipedia
Un framework qui facilite la création d'applications GUI. Il prend également en charge le développement multiplateforme.
PyQt est une boîte à outils d'interface graphique multiplateforme, la liaison Python de Qt, et est l'une des options de programmation d'interface graphique en Python. De Wikipedia
Vous pouvez facilement créer des applications Qt et GUI définies pour Python.
Je n'expliquerai pas les paramètres d'environnement ici, donc ggrks
window.py
#!/usr/bin/env python3
import sys
from PyQt5.QtWidgets import *
class MainWindow(QWidget):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
if __name__ == '__main__':
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
Quand je l'exécute, une fenêtre vide apparaît
button.py
#!/usr/bin/env python3
import sys
from PyQt5.QtWidgets import *
class MainWindow(QWidget):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
button = QPushButton('button')
layout = QGridLayout()
layout.addWidget(button)
self.setLayout(layout)
self.setWindowTitle("Button")
if __name__ == '__main__':
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
Avec bouton et titre
input-output.py
#!/usr/bin/env python3
import sys
from PyQt5.QtWidgets import *
class MainWindow(QWidget):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.button = QPushButton('Lire / afficher')
self.button.clicked.connect(self.output)
self.inputText = QLineEdit()
self.inputText.setText("")
self.outputText = QLineEdit()
self.outputText.setText("")
self.outputText.setReadOnly(True)
textLayout = QHBoxLayout()
textLayout.addWidget(self.inputText)
textLayout.addWidget(self.outputText)
layout = QVBoxLayout()
layout.addLayout(textLayout)
layout.addWidget(self.button)
self.setLayout(layout)
self.setWindowTitle("Button")
def output(self):
self.outputText.setText(self.inputText.text())
if __name__ == '__main__':
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
Lorsque vous entrez du texte et appuyez sur le bouton, le texte est sorti
string-graphic.py
#!/usr/bin/env python3
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class ShowString(QGraphicsItem):
def __init__(self, width=200, height=10, text=""):
super(ShowString, self).__init__()
self.width = width
self.height = height
self.text = text
def paint(self, painter, option, widget):
painter.setPen(Qt.black)
painter.drawText(0, 20, self.text)
def boundingRect(self):
return QRectF(0,0,400,100)
def setText(self, text):
self.text = text
self.update()
class MainWindow(QWidget):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.graphicView = QGraphicsView()
self.showString = ShowString()
scene = QGraphicsScene(self.graphicView)
scene.setSceneRect(0, 0, 400, 100)
self.graphicView.setScene(scene)
self.graphicView.resize(300,50)
scene.addItem(self.showString)
self.button = QPushButton('Lire / afficher')
self.button.clicked.connect(self.output)
self.inputText = QLineEdit()
self.inputText.setText("")
self.outputText = QLineEdit()
self.outputText.setText("")
self.outputText.setReadOnly(True)
textLayout = QHBoxLayout()
textLayout.addWidget(self.inputText)
textLayout.addWidget(self.outputText)
layout = QVBoxLayout()
layout.addWidget(self.graphicView)
layout.addLayout(textLayout)
layout.addWidget(self.button)
self.setLayout(layout)
self.setWindowTitle("Button")
def output(self):
self.outputText.setText(self.inputText.text())
self.showString.setText(self.inputText.text())
if __name__ == '__main__':
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
Ajout de la sortie de chaîne de caractères dans QGraphicsView au programme précédent
Suite: Essayez d'ouvrir une sous-fenêtre avec PyQt5 et Python
C'est tout pour jouer avec PyQt5 et Python3. Je l'aime parce que je peux concevoir des interfaces graphiques vraiment intuitivement.
Je l'ai utilisé comme référence ci-dessous. Merci beaucoup. http://d.hatena.ne.jp/mFumi/20141112/1415806010 http://qiita.com/kenasman/items/55505654823e9d040e6e
Recommended Posts