[GUI en Python] PyQt5-Dialog-

Suite de Dernière fois

Dialogs Je vais résumer grossièrement ce site en japonais.

[Affichage de la boîte de dialogue simple]

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):
        
        #Affichage de la boîte de dialogue
        text, ok = QInputDialog.getText(self, '---Input Dialog---', 
            'Enter your name:')
        
        #Définir le texte saisi sur l'objet chier
        if ok:
            self.le.setText(str(text))
        
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
dialog.png

[Affichage de la boîte de dialogue sur l'écran de sélection des couleurs]

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):      
        
        #Réglage initial de la couleur (le rendre noir)
        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):
      
        #Affichage de la boîte de dialogue de l'écran de sélection des couleurs
        col = QColorDialog.getColor()

        #Afficher la couleur sélectionnée dans la fenêtre principale
        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

[Affichage de la boîte de dialogue sur l'écran de sélection des polices]

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):

        #Définir la police sélectionnée sur l'objet lbl
        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

[Affichage de la boîte de dialogue de fichier]

QFileDialog.py


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


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

#Hériter de QMainWindow pour l'écran centré sur la forme de texte
class Example(QMainWindow):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):      

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

        #Paramètres des icônes de la barre de menus
        openFile = QAction(QIcon('imoyokan.jpg'), 'Open', self)
        #Paramètres de raccourci
        openFile.setShortcut('Ctrl+O')
        #Paramètres de la barre d'état
        openFile.setStatusTip('Open new File')
        openFile.triggered.connect(self.showDialog)

        #Créer une barre de menus
        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):

        #Le deuxième argument est le titre de la boîte de dialogue et le troisième est le chemin à afficher.
        fname = QFileDialog.getOpenFileName(self, 'Open file', '/home')

        # fname[0]Est le chemin du fichier sélectionné (y compris le nom du fichier)
        if fname[0]:
            #Lecture de fichiers
            f = open(fname[0], 'r')

            #Écrire le contenu du fichier dans l'éditeur de texte
            with f:
                data = f.read()
                self.textEdit.setText(data)        
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
filedialog.png

La prochaine fois essaiera approximativement Widgets.

Recommended Posts

[GUI en Python] PyQt5-Dialog-
[GUI en Python] PyQt5 -Widget-
Présentation de l'interface graphique: PyQt5 en Python
[GUI en Python] PyQt5 -Event-
Programmation GUI en Python avec Appjar
[GUI en Python] Menu PyQt5 et barre d'outils-
Création d'interface graphique en python avec tkinter 2
Quadtree en Python --2
Python en optimisation
CURL en Python
Métaprogrammation avec Python
Python 3.3 avec Anaconda
Géocodage en python
SendKeys en Python
Méta-analyse en Python
Unittest en Python
Époque en Python
Discord en Python
Allemand en Python
DCI en Python
tri rapide en python
N-Gram en Python
Programmation avec Python
Plink en Python
Constante en Python
FizzBuzz en Python
Sqlite en Python
Étape AIC en Python
LINE-Bot [0] en Python
CSV en Python
Assemblage inversé avec Python
Réflexion en Python
Constante en Python
nCr en Python.
format en python
Scons en Python 3
Puyopuyo en python
python dans virtualenv
PPAP en Python
Quad-tree en Python
Réflexion en Python
Chimie avec Python
Hashable en Python
DirectLiNGAM en Python
LiNGAM en Python
Aplatir en Python
Aplatir en python
Création d'interface graphique en python à l'aide de tkinter partie 1
Créer une application GUI simple en Python
Liste triée en Python
AtCoder # 36 quotidien avec Python
Texte de cluster en Python
AtCoder # 2 tous les jours avec Python
Daily AtCoder # 32 en Python
Daily AtCoder # 6 en Python
Daily AtCoder # 18 en Python
Modifier les polices en Python
Motif singleton en Python