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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
   |  
#! /usr/bin/python
#-*-coding: utf-8 -*-
from PyQt4.QtGui import *
from PyQt4.QtCore import *
import os,sys
 
def main(args):
    #EXO LAYOUT
    a=QApplication(args)
    #Une fenetre
    fenetre=MaForm()
 
    fenetre.show()
    r=a.exec_()
    return r
 
class MaForm(QWidget):
    def __init__(self):
        #Une fenetre
        QWidget.__init__(self)
 
        #Des boutons sans parents
        bouton1 = QPushButton("Xenon")
        bouton2 = QPushButton("rrrrrr")
        bouton3 = QPushButton(qApp.trUtf8("Hopéy"))
        bouton4 = QPushButton("wololo...")
        label = QLabel(qApp.trUtf8("Caché"))
 
 
        #Création d'un groupBox
        groupbox = QGroupBox(qApp.trUtf8("YOP"), self)
        radBut1 = QRadioButton("petit")
        radBut2 = QRadioButton("moyen")
        radBut3 = QRadioButton("grand")
        radBut2.setChecked(True);
 
        #Création de 3 Layouts un pour bouton un pour GroupBox et  Global
        unLayout = QGridLayout()
        Global = QGridLayout()
        anotherLayout = QVBoxLayout()
 
        #les boutons sont mis dans le Layout
        unLayout.addWidget(bouton1, 0, 0)
        unLayout.addWidget(bouton2, 1, 1, 1, 1)
        unLayout.addWidget(bouton3, 2, 2, 1, 1)
        unLayout.addWidget(bouton4, 2, 1, 1, 1)
        unLayout.addWidget(label, 1, 2)
 
        #Les radiobutton sont mis dans le Layout
        anotherLayout.addWidget(radBut1)
        anotherLayout.addWidget(radBut2)
        anotherLayout.addWidget(radBut3)
 
        #Le layout des radioButton est mis dans un groupBox
        groupbox.setLayout(anotherLayout)
 
        #Le Layout est inclus dans la fenetre
        # Ajout d'un Layout dans un Layout avec AddLayout( <Nom>,rows,cols)
        Global.addLayout(unLayout, 0, 1)
        Global.addWidget(groupbox, 0, 0)
        self.setLayout(Global)
 
        def okidoki():
                label.hide()
 
        #Connexion SIGNAL / SLOT
        self.connect(radBut1, SIGNAL("clicked()"), okidoki)
 
 
if __name__=="__main__":
    main(sys.argv) | 
Partager