Python Forum
[PyQt] New window
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[PyQt] New window
#1
Hello, i have problem with qtpy.

from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QFileDialog
from s import CheckWindow
from ss import MainWindow
import sys


class FirstWindow(CheckWindow):
    """
    Switching window1 (start window) to window2 (which is MainWindow).
    """
    def __init__(self, window1):
        self.setupUi(window1)
        self.pushButton_2.clicked.connect(self.selectFile)

    def selectFile(self):
        text = QFileDialog.getOpenFileName()
        print(text)
        if text[0]:
            f = open(text[0], 'r')

            with f:
                data = f.read()
                print(data)


class MainInterface(MainWindow):
    """

    """
    def __init__(self, mwindow2):
        self.setupUi(mwindow2)
        self.pushButton_2.clicked.connect(self.test)

    def test(self):
        print("działa")


if __name__ == '__main__':
    """
    Show window1 (start window).
    """
    app = QtWidgets.QApplication(sys.argv)
    window1 = QtWidgets.QMainWindow()
    ui = CheckWindow()
    ui.setupUi(window1)
    window1.show()
    FirstWindow = FirstWindow(window1)
    sys.exit(app.exec_())
from PyQt5 import QtCore, QtGui, QtWidgets
from ss import *
# from dfg import MainInterface


class CheckWindow(object):
    def ok(self):
        self.window = QtWidgets.QMainWindow()
        self.ui = MainWindow()
        self.ui.setupUi(self.window)
        self.window.show()
#        sec = MainInterface(self.window)

    def setupUi(self, MainWindow):
        MainWindow.setObjectName("Gnuplot")
        MainWindow.resize(247, 319)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(70, 220, 111, 31))
        self.pushButton.setObjectName("pushButton")
        self.pushButton.clicked.connect(self.ok)
        self.checkBox = QtWidgets.QCheckBox(self.centralwidget)
        self.checkBox.setGeometry(QtCore.QRect(70, 90, 101, 23))
        self.checkBox.setObjectName("checkBox")
        self.comboBox = QtWidgets.QComboBox(self.centralwidget)
        self.comboBox.setGeometry(QtCore.QRect(70, 50, 101, 33))
        self.comboBox.setObjectName("comboBox")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(70, 190, 111, 33))
        self.pushButton_2.setObjectName("pushButton_2")
        self.checkBox_2 = QtWidgets.QCheckBox(self.centralwidget)
        self.checkBox_2.setGeometry(QtCore.QRect(70, 110, 101, 23))
        self.checkBox_2.setObjectName("checkBox_2")
        self.verticalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(30, 30, 181, 121))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.pushButton.setText(_translate("MainWindow", "next"))
        self.checkBox.setText(_translate("MainWindow", "Errorbars X"))
        self.comboBox.setItemText(0, _translate("MainWindow", "one plot"))
        self.comboBox.setItemText(1, _translate("MainWindow", "two plots"))
        self.pushButton_2.setText(_translate("MainWindow", "select file"))
        self.checkBox_2.setText(_translate("MainWindow", "Errorbars Y"))
from PyQt5 import QtCore, QtGui, QtWidgets


class MainWindow(object):

   # def test(self):
   #     print("działa")

    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 505)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushBut = QtWidgets.QPushButton(self.centralwidget)
        self.pushBut.setGeometry(QtCore.QRect(340, 290, 88, 33))
        self.pushBut.setObjectName("pushButton")
        self.radioButton = QtWidgets.QRadioButton(self.centralwidget)
        self.radioButton.setGeometry(QtCore.QRect(230, 160, 98, 23))
        self.radioButton.setObjectName("radioButton")
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(460, 180, 88, 33))
        self.pushButton_2.setObjectName("pushButton_2")
    #    self.pushButton_2.clicked.connect(self.test)
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.pushBut.setText(_translate("MainWindow", "llllklkjl"))
        self.radioButton.setText(_translate("MainWindow", "RadioButton"))
        self.pushButton_2.setText(_translate("MainWindow", "PushButton"))
first the Check Window window opens and I can modify it in the FirstWindow class, but later when the MainWindow window opens, I would like me to modify it using the MainInterface class. The problem is that I do not know where and how I should call the MainInterface class object to run the "test" please help
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Interaction between Matplotlib window, Python prompt and TKinter window NorbertMoussy 3 472 Mar-17-2024, 09:37 AM
Last Post: deanhystad
  tkinter window and turtle window error 1885 3 6,698 Nov-02-2019, 12:18 PM
Last Post: 1885
  update a variable in parent window after closing its toplevel window gray 5 9,060 Mar-20-2017, 10:35 PM
Last Post: Larz60+

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020