将自定义pyqtsignal从一个主窗口发送到另一个

Dodoelhos

初学者python编码器在这里。我在qt设计器中创建了两个主窗口。在第一个窗口中,我有一个包含三个项目的组合框(cb)和一个按钮(Button1),在另一个窗口中,我有一个LineEdit(edit)。当我在第一个窗口中按下按钮时,我想在第二个主窗口中创建的LineEdit中显示(在组合框中选择的当前项目的)文本。

我在网上跟踪了几个示例,但似乎找不到适合我的东西。所有示例都是通过在代码中构建窗口来完成的(与Qt Designer相对)。在Qt Designer上设计窗口的人似乎和我一样面临相同的问题。

如果有人可以向我展示如何使用Qt Designer设计的Windows发送信号,我将非常感激。这确实可以解决我目前遇到的一个大瓶颈,并且我可以在代码的其他方面实现相同的策略。

import sys
from PyQt5.QtCore import pyqtSignal
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.uic import loadUi


class First_Window(QMainWindow):

    got_signal = pyqtSignal(str)

    def __init__(self):
        super(First_Window,self).__init__()
        loadUi('first_window.ui',self)
        self.setWindowTitle('First Window')
        self.Button1.clicked.connect(self.On_buttonclick_clicked)

    def On_buttonclick_clicked(self):
        self.got_signal.emit(self.cb.currentText())

class Second_Window(QMainWindow):

    def __init__(self):
        super(Second_Window, self).__init__()
        loadUi('second_window.ui', self)
        self.setWindowTitle('Second Window')
        self.dcc = First_Window()
        self.dcc.got_signal.connect(self.show_it)

    def show_it(self, the_signal):
        self.edit.setText(the_signal)
        print(the_signal)


if __name__ == "__main__":

    app = QApplication(sys.argv)
    fw = First_Window()
    fw.show()
    sw = Second_Window()
    sw.show()

    sys.exit(app.exec_())

这段代码是我正在使用的代码的简化版本,但它们存在相同的问题。

永乐

说明:

主要问题是您已经创建了2个First_Window:

  • 您用来显示的一个
  • 另一个是在got_signal和show_it之间建立连接的地方。

解:

只需创建一个显示的First_Window并建立连接即可:

import sys
from PyQt5.QtCore import pyqtSignal
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.uic import loadUi


class First_Window(QMainWindow):

    got_signal = pyqtSignal(str)

    def __init__(self):
        super(First_Window, self).__init__()
        loadUi("first_window.ui", self)
        self.setWindowTitle("First Window")
        self.Button1.clicked.connect(self.On_buttonclick_clicked)

    def On_buttonclick_clicked(self):
        self.got_signal.emit(self.cb.currentText())


class Second_Window(QMainWindow):
    def __init__(self):
        super(Second_Window, self).__init__()
        loadUi("second_window.ui", self)
        self.setWindowTitle("Second Window")

    def show_it(self, the_signal):
        self.edit.setText(the_signal)
        print(the_signal)


if __name__ == "__main__":

    app = QApplication(sys.argv)
    fw = First_Window()
    fw.show()
    sw = Second_Window()
    sw.show()

    fw.got_signal.connect(sw.show_it)

    sys.exit(app.exec_())

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将Qpixmap从一个窗口发送到另一个窗口

来自分类Dev

将包含其他自定义对象的对象列表从一个活动发送到另一个活动

来自分类Dev

直接从一个频道发送到另一个频道

来自分类Dev

在Android中将数据从一个DialogFragment发送到另一个

来自分类Dev

将结果从一个班级发送到另一个班级

来自分类Dev

将位图从一个活动发送到另一个错误

来自分类Dev

Spring Boot:将另一个端口上的请求发送到自定义Servlet

来自分类Dev

Android将数据从主UI线程发送到另一个线程

来自分类Dev

JS IPC;将邮件从一个标签发送到另一个标签?

来自分类Dev

将数据从一个Java应用程序发送到另一个

来自分类Dev

通过$ _SESSION从一个脚本发送到另一个脚本期间的数据丢失

来自分类Dev

如何将字符串从一个活动发送到另一个活动?

来自分类Dev

如何在Jmeter中将参数从一个HTTP请求发送到另一个

来自分类Dev

如何使用JavaScript将数据从一个.window发送到另一个?

来自分类Dev

如何将数据从一个片段发送到另一个片段?

来自分类Dev

如何在Android中将ArrayList <NameValuePair>从一个片段发送到另一个

来自分类Dev

将数据从一个活动发送到另一个活动的片段

来自分类Dev

如何在angularjs中将数据从一个控制器发送到另一个

来自分类Dev

如何准备segue并将数据从一个标签发送到另一个标签?

来自分类Dev

如何将数据从一个ejs文件发送到另一个

来自分类Dev

如何使用Scenic将消息从一个场景发送到另一个场景?

来自分类Dev

在JavaScript中将鼠标悬停事件从一个函数发送到另一个函数

来自分类Dev

如何在Android中将数据从一个活动发送到另一个活动的列表

来自分类Dev

使用JavaScript / AJAX将值从一个PHP文件发送到另一个

来自分类Dev

无法将图像从一个活动发送到另一个活动

来自分类Dev

如何将参数从一个函数发送到另一个函数

来自分类Dev

Python将变量从一个脚本发送到另一个脚本

来自分类Dev

将数据从一个活动发送到另一个startactivity以获得结果

来自分类Dev

JS IPC;将邮件从一个标签发送到另一个标签?

Related 相关文章

  1. 1

    将Qpixmap从一个窗口发送到另一个窗口

  2. 2

    将包含其他自定义对象的对象列表从一个活动发送到另一个活动

  3. 3

    直接从一个频道发送到另一个频道

  4. 4

    在Android中将数据从一个DialogFragment发送到另一个

  5. 5

    将结果从一个班级发送到另一个班级

  6. 6

    将位图从一个活动发送到另一个错误

  7. 7

    Spring Boot:将另一个端口上的请求发送到自定义Servlet

  8. 8

    Android将数据从主UI线程发送到另一个线程

  9. 9

    JS IPC;将邮件从一个标签发送到另一个标签?

  10. 10

    将数据从一个Java应用程序发送到另一个

  11. 11

    通过$ _SESSION从一个脚本发送到另一个脚本期间的数据丢失

  12. 12

    如何将字符串从一个活动发送到另一个活动?

  13. 13

    如何在Jmeter中将参数从一个HTTP请求发送到另一个

  14. 14

    如何使用JavaScript将数据从一个.window发送到另一个?

  15. 15

    如何将数据从一个片段发送到另一个片段?

  16. 16

    如何在Android中将ArrayList <NameValuePair>从一个片段发送到另一个

  17. 17

    将数据从一个活动发送到另一个活动的片段

  18. 18

    如何在angularjs中将数据从一个控制器发送到另一个

  19. 19

    如何准备segue并将数据从一个标签发送到另一个标签?

  20. 20

    如何将数据从一个ejs文件发送到另一个

  21. 21

    如何使用Scenic将消息从一个场景发送到另一个场景?

  22. 22

    在JavaScript中将鼠标悬停事件从一个函数发送到另一个函数

  23. 23

    如何在Android中将数据从一个活动发送到另一个活动的列表

  24. 24

    使用JavaScript / AJAX将值从一个PHP文件发送到另一个

  25. 25

    无法将图像从一个活动发送到另一个活动

  26. 26

    如何将参数从一个函数发送到另一个函数

  27. 27

    Python将变量从一个脚本发送到另一个脚本

  28. 28

    将数据从一个活动发送到另一个startactivity以获得结果

  29. 29

    JS IPC;将邮件从一个标签发送到另一个标签?

热门标签

归档