Dernière fois suite
widgets Ⅱ Je vais résumer grossièrement ce site en japonais.
QPixmap.py
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import (QWidget, QHBoxLayout, 
    QLabel, QApplication)
from PyQt5.QtGui import QPixmap
class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):      
        hbox = QHBoxLayout(self)
        #Créer un objet QPixmap
        pixmap = QPixmap("imoyokan.jpg ")
        #Faire une étiquette et y mettre une image
        lbl = QLabel(self)
        lbl.setPixmap(pixmap)
        hbox.addWidget(lbl)
        self.setLayout(hbox)
        
        self.move(300, 200)
        self.setWindowTitle('Imoyokan')
        self.show()        
        
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
 
QLineEdit.py
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import (QWidget, QLabel, 
    QLineEdit, QApplication)
class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):      
        #Créer un objet d'étiquette
        self.lbl = QLabel(self)
        #Création d'objets QLineEdit
        qle = QLineEdit(self)
        
        qle.move(60, 100)
        self.lbl.move(60, 40)
        #Appelez la fonction onChanged lorsqu'un caractère est entré dans qle
        qle.textChanged[str].connect(self.onChanged)
        
        self.setGeometry(300, 300, 280, 170)
        self.setWindowTitle('QLineEdit')
        self.show()
        
        
    def onChanged(self, text):
        
        #Insérez le texte saisi dans l'étiquette
        self.lbl.setText(text)
        #Ajuster la longueur de l'étiquette en fonction du texte saisi
        self.lbl.adjustSize()        
        
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
 
QSplitter
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QFrame, 
    QSplitter, QStyleFactory, QApplication)
from PyQt5.QtCore import Qt
class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):      
        hbox = QHBoxLayout(self)
        #Créer un objet frame
        topleft = QFrame(self)
        #Réglage de la forme du cadre
        topleft.setFrameShape(QFrame.StyledPanel)
 
        topright = QFrame(self)
        topright.setFrameShape(QFrame.StyledPanel)
        bottom = QFrame(self)
        bottom.setFrameShape(QFrame.StyledPanel)
        #Créez un objet QSplitter horizontal et ajoutez un cadre
        splitter1 = QSplitter(Qt.Horizontal)
        splitter1.addWidget(topleft)
        splitter1.addWidget(topright)
        # #Créez un objet QSplitter vertical et ajoutez un cadre
        splitter2 = QSplitter(Qt.Vertical)
        splitter2.addWidget(splitter1)
        splitter2.addWidget(bottom)
        hbox.addWidget(splitter2)
        self.setLayout(hbox)
        
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('QSplitter')
        self.show()
        
        
    def onChanged(self, text):
        
        self.lbl.setText(text)
        self.lbl.adjustSize()        
        
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
 
QComboBox.py
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import (QWidget, QLabel, 
    QComboBox, QApplication)
class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):      
        #Création d'étiquettes, nom initial d'Ubuntu
        self.lbl = QLabel("Ubuntu", self)
        #Création d'un objet QComboBox
        combo = QComboBox(self)
        #Dénomination des éléments
        combo.addItem("Ubuntu")
        combo.addItem("Mandriva")
        combo.addItem("Fedora")
        combo.addItem("Arch")
        combo.addItem("Gentoo")
        combo.move(50, 50)
        self.lbl.move(50, 150)
        #Appelez la fonction onActivated lorsqu'un élément est sélectionné
        combo.activated[str].connect(self.onActivated)        
         
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('QComboBox')
        self.show()
        
        
    def onActivated(self, text):
        
        #Définir le nom de l'élément sélectionné pour l'étiquette
        self.lbl.setText(text)
        #Ajuster la longueur de l'étiquette
        self.lbl.adjustSize()  
        
                
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
 
La prochaine fois essaiera à peu près Glisser-déposer.
Recommended Posts