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
   |  
import sys
from PyQt5 import QtCore, QtGui
from PyQt5.QtWidgets import QWidget, QApplication, QLineEdit, QPushButton, QLabel
from PyQt5.QtCore import pyqtSignal, QObject
 
##################################""""
 
class MyNewSignal(QObject):
    mySignal = pyqtSignal()
 
class SecondWindow(QWidget):
    def __init__(self, parent = None):
        super().__init__()
        self.parent = parent
        self.setWindowTitle("deuxieme fenetre")
        self.setWindowModality(2)
 
        self.btn2 = QPushButton("Transfer", self)
        self.btn2.setGeometry(100, 150, 200, 50)
 
        self.btn2.clicked.connect(self.transfer_valeurs)
        self.signal_class = MyNewSignal()
        self.signal_class.mySignal.connect(self.retrieveValues)
 
 
        self.textbox2 = QLineEdit(self)
        self.textbox2.setGeometry(100, 50, 200, 50)
 
    def retrieveValues(self):
        x = self.textbox2.text()
        self.mainWindow = MyPrincipalWindow()
        self.mainWindow.textbox1.setText(x)
 
    def transfer_valeurs(self):
        self.signal_class = MyNewSignal()
        self.signal_class.mySignal.emit()
 
class MyPrincipalWindow(QWidget):
    def __init__(self, parent = None):
        super().__init__()
        self.parent = parent
        self.setWindowTitle("Ma fenetre principal")
        self.setFixedSize(700, 500)
 
        self.btn1 = QPushButton("Afficher deuxieme fenetre", self)
        self.btn1.clicked.connect(self.afficherFenetre)
        self.btn1.setGeometry(250,300,250,75)
 
        self.textbox1 = QLineEdit(self)
        self.textbox1.setGeometry(250,50,200,50)
 
    def afficherFenetre(self):
        self.save = SecondWindow(self)
        self.save.show()
 
 
if __name__=="__main__":
 
    app = QApplication(sys.argv)
    fen = MyPrincipalWindow()
    fen.show()
 
    app.exec() | 
Partager