Tworzenie GUI za pomocą PyQt
Jedną z możliwości tworzenia graficznych interfejsów użytkownika w Pythonie jest użycie biblioteki Qt.
Poniżej przedstawiony jest przykładowy program.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | #!/usr/bin/env python3 # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import ( QApplication, QWidget, QPushButton, QVBoxLayout, QHBoxLayout, QTextEdit, ) from PyQt5.QtGui import ( QPainter, QBrush, QColor, QFont, ) from PyQt5.QtCore import ( Qt, ) class MainWindow(QWidget, object): def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setWindowTitle('A sample app') self.button = QPushButton("Click me!", self) self.button.clicked.connect(self.after_click) self.textEdit = QTextEdit() self.mainLayout = QHBoxLayout(self) self.leftLayout = QVBoxLayout() self.leftLayout.addWidget(self.button) self.leftLayout.addWidget(self.textEdit) self.rightLayout = QVBoxLayout() self.mainLayout.addLayout(self.leftLayout, 3) self.mainLayout.addLayout(self.rightLayout, 3) def after_click(self): pass def main(): app = QApplication(sys.argv) w = MainWindow() w.show() return app.exec() if __name__ == '__main__': main() |
Zadania
-
Rozszerz program tak, by po kliknięciu w przycisk zawartość pola tekstowego była zapisywana do pliku (o dowolnie wybranej nazwie).
-
Dodaj jednolinijkowe pole tekstowe, w którym użytkownik mógłby wpisać nazwę pliku, o którym mowa we wcześniejszym zadaniu.
-
Wykorzystaj klasę
QFileDialog
, aby umożliwić użytkownikowi wybór i wczytanie dowolnego pliku tekstowego.