簡體   English   中英

多個窗口程序pyqt5和python

[英]Multiple window program pyqt5 and python

我是新來的,但我一直在尋找一些答案,因此我無法解決自己的問題,因此希望您能為我提供幫助。

我正在創建一個與ABB機器人進行交互的python程序。 該程序由多個文件組成,每個文件包含一個窗口,用於向機器人發送數據或從機器人接收數據。

為了與機器人通信,我創建了一個套接字連接,程序是服務器,機器人是客戶端。 程序的第一個窗口創建套接字,第二個窗口嘗試將信息發送到機械手時出現問題,因為clientsocket名稱/地址在另一個文件上。

我嘗試制作全局變量,但無法正常工作。 我還嘗試將所需的變量寫入文件中,然后讀取它,這將傳遞變量,但由於其類型為str並且需要套接字對象,因此無法發送給機器人。

任何想法如何將客戶端對象從一個文件傳輸到另一個文件?

歡迎任何建議。

謝謝

這可以通過以下方式完成:將主窗口作為任何輔助窗口的父級,並通過在創建時將套接字變量傳遞給輔助窗口的方式從主窗口中打開它們。 例如:

class MainWindow(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        self.socket = socket_information  # Set the socket connection up here

    def open_window_two(self):
        dialog = WindowTwoClass(self.socket)
        dialog.exec_()

這里的WindowTwoClass是另一個文件中輔助窗口的類。 該輔助窗口不能是QMainWindow子類,因此取決於您希望使用的功能,它將是QWidget或QDialog子類。

class WindowTwoClass(QWidget):
    def __init__(self, socket):
        QWidget.__init__(self)
        self.socket = socket

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM