Qt (Cute) ist ein UI-Framework (Application User Interface), das in der Sprache C ++ geschrieben ist.
Qt ist allgemein als GUI-Toolkit bekannt, wird jedoch auch häufig in Nicht-GUI-Programmen wie Konsolentools und Servern verwendet. Aus Wikipedia
Ein Framework, das das Erstellen von GUI-Anwendungen vereinfacht. Es unterstützt auch die plattformübergreifende Entwicklung.
PyQt ist ein plattformübergreifendes GUI-Toolkit, die Python-Bindung von Qt, und eine der Optionen für die GUI-Programmierung in Python. Aus Wikipedia
Sie können problemlos Qt- und GUI-Anwendungen für Python erstellen.
Ich werde die Umgebungseinstellungen hier nicht erklären, also 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_())
Wenn ich es starte, erscheint ein leeres Fenster
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_())
Mit Knopf und Titel
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('Lesen / Anzeigen')
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_())
Wenn Sie Text eingeben und die Taste drücken, wird der Text ausgegeben
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('Lesen / Anzeigen')
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_())
Zeichenkettenausgabe in QGraphicsView zum vorherigen Programm hinzugefügt
Fortsetzung: Versuchen Sie, ein Unterfenster mit PyQt5 und Python zu öffnen
Das ist alles zum Spielen mit PyQt5 und Python3. Ich mag es, weil ich GUIs sehr intuitiv gestalten kann.
Ich habe es unten als Referenz verwendet. Vielen Dank. http://d.hatena.ne.jp/mFumi/20141112/1415806010 http://qiita.com/kenasman/items/55505654823e9d040e6e
Recommended Posts