[GUI in Python] PyQt5-Dialog-

Fortsetzung von Letztes Mal

Dialogs Ich werde diese Seite grob auf Japanisch zusammenfassen.

[Einfache Dialoganzeige]

QInputDialog.py


#!/usr/bin/python3
# -*- coding: utf-8 -*-


import sys
from PyQt5.QtWidgets import (QWidget, QPushButton, QLineEdit, 
    QInputDialog, QApplication)


class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):      

        self.btn = QPushButton('Dialog', self)
        self.btn.move(20, 20)
        self.btn.clicked.connect(self.showDialog)
        
        self.le = QLineEdit(self)
        self.le.move(130, 22)
        
        self.setGeometry(300, 300, 290, 150)
        self.setWindowTitle('Input dialog')
        self.show()
        
        
    def showDialog(self):
        
        #Dialoganzeige
        text, ok = QInputDialog.getText(self, '---Input Dialog---', 
            'Enter your name:')
        
        #Setzen Sie den eingegebenen Text auf das Objekt le
        if ok:
            self.le.setText(str(text))
        
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
dialog.png

[Dialoganzeige auf dem Farbauswahlbildschirm]

QColorDialog.py


#!/usr/bin/python3
# -*- coding: utf-8 -*-


import sys
from PyQt5.QtWidgets import (QWidget, QPushButton, QFrame, 
    QColorDialog, QApplication)
from PyQt5.QtGui import QColor


class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):      
        
        #Anfängliche Farbeinstellung (schwarz machen)
        col = QColor(0, 0, 0) 

        self.btn = QPushButton('Dialog', self)
        self.btn.move(20, 20)

        self.btn.clicked.connect(self.showDialog)

        self.frm = QFrame(self)
        self.frm.setStyleSheet("QWidget { background-color: %s }" 
            % col.name())
        self.frm.setGeometry(130, 22, 100, 100)            
        
        self.setGeometry(300, 300, 250, 180)
        self.setWindowTitle('Color dialog')
        self.show()
        
        
    def showDialog(self):
      
        #Dialoganzeige des Farbauswahlbildschirms
        col = QColorDialog.getColor()

        #Zeigen Sie die ausgewählte Farbe im Hauptfenster an
        if col.isValid():
            self.frm.setStyleSheet("QWidget { background-color: %s }"
                % col.name())   
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
colordialog.png

[Dialogfeldanzeige auf dem Bildschirm zur Schriftauswahl]

QFontDialog.py


#!/usr/bin/python3
# -*- coding: utf-8 -*-


import sys
from PyQt5.QtWidgets import (QWidget, QVBoxLayout, QPushButton, 
    QSizePolicy, QLabel, QFontDialog, QApplication)


class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):      

        vbox = QVBoxLayout()

        btn = QPushButton('Dialog', self)
        btn.setSizePolicy(QSizePolicy.Fixed,
            QSizePolicy.Fixed)
        
        btn.move(20, 20)

        vbox.addWidget(btn)

        btn.clicked.connect(self.showDialog)
        
        self.lbl = QLabel('Knowledge only matters', self)
        self.lbl.move(130, 20)

        vbox.addWidget(self.lbl)
        self.setLayout(vbox)          
        
        self.setGeometry(300, 300, 250, 180)
        self.setWindowTitle('Font dialog')
        self.show()
        
        
    def showDialog(self):

        #Stellen Sie die ausgewählte Schriftart auf das lbl-Objekt ein
        font, ok = QFontDialog.getFont()
        if ok:
            self.lbl.setFont(font)
        
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
fontdialog.png

[Dateidialoganzeige]

QFileDialog.py


#!/usr/bin/python3
# -*- coding: utf-8 -*-


import sys
from PyQt5.QtWidgets import (QMainWindow, QTextEdit, 
    QAction, QFileDialog, QApplication)
from PyQt5.QtGui import QIcon

#Erben Sie QMainWindow für einen textformularzentrierten Bildschirm
class Example(QMainWindow):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):      

        self.textEdit = QTextEdit()
        self.setCentralWidget(self.textEdit)
        self.statusBar()

        #Symboleinstellungen für die Menüleiste
        openFile = QAction(QIcon('imoyokan.jpg'), 'Open', self)
        #Verknüpfungseinstellungen
        openFile.setShortcut('Ctrl+O')
        #Einstellungen in der Statusleiste
        openFile.setStatusTip('Open new File')
        openFile.triggered.connect(self.showDialog)

        #Menüleiste erstellen
        menubar = self.menuBar()
        fileMenu = menubar.addMenu('&File')
        fileMenu.addAction(openFile)       
        
        self.setGeometry(300, 300, 350, 300)
        self.setWindowTitle('File dialog')
        self.show()
        
        
    def showDialog(self):

        #Das zweite Argument ist der Titel des Dialogfelds und das dritte Argument ist der anzuzeigende Pfad.
        fname = QFileDialog.getOpenFileName(self, 'Open file', '/home')

        # fname[0]Ist der Pfad der ausgewählten Datei (einschließlich des Dateinamens)
        if fname[0]:
            #Datei lesen
            f = open(fname[0], 'r')

            #Schreiben Sie den Dateiinhalt in den Texteditor
            with f:
                data = f.read()
                self.textEdit.setText(data)        
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
filedialog.png

Nächstes Mal wird Widgets ungefähr ausprobieren.

Recommended Posts

[GUI in Python] PyQt5-Dialog-
[GUI in Python] PyQt5 -Widget-
Einführung in die GUI: PyQt5 in Python
[GUI in Python] PyQt5 -Event-
GUI-Programmierung in Python mit Appjar
[GUI in Python] PyQt5-Menü und Symbolleiste-
GUI-Erstellung in Python mit tkinter 2
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Metaanalyse in Python
Unittest in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
Quicksort in Python
N-Gramm in Python
Programmieren mit Python
Plink in Python
Konstante in Python
FizzBuzz in Python
SQLite in Python
Schritt AIC in Python
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python
Reflexion in Python
Chemie mit Python
Hashbar in Python
DirectLiNGAM in Python
LiNGAM in Python
In Python reduzieren
In Python flach drücken
GUI-Erstellung in Python mit tkinter Teil 1
Erstellen Sie eine einfache GUI-App in Python
Sortierte Liste in Python
Täglicher AtCoder # 36 mit Python
Clustertext in Python
AtCoder # 2 jeden Tag mit Python
Täglicher AtCoder # 32 in Python
Täglicher AtCoder # 6 in Python
Täglicher AtCoder # 18 in Python
Bearbeiten Sie Schriftarten in Python
Singleton-Muster in Python