当前位置: 首页 > 知识库问答 >
问题:

qt界面如何同多个python程序相连接?

蓬运诚
2023-07-24

主要是开发一个界面,将界面代码同其他的py文件相互连接。
或者将界面代码里面的class中的被赋值的变量拿出来放到其他的py文件里。
界面的作用是在lineEdit里面输入,然后再输出。把lineEdit的值赋值给变量。但是在其他py文件里面无法从外部直接使用这个变量。
如:da=self.lineEdit.text(),在lineEdit框中输入内容会赋值给class中的da变量。但是在其他py文件却无法使用da变量。在其他py文件里无法将每次在lineEdit中的值赋值给da。在其他py文件里直接调用da变量失败

共有1个答案

邢新
2023-07-24

用信号和槽:

# file: main.pyfrom PyQt5.QtWidgets import QApplication, QLineEdit, QVBoxLayout, QWidgetfrom PyQt5.QtCore import pyqtSignal, pyqtSlotimport sysimport other_moduleclass MyWidget(QWidget):    textChanged = pyqtSignal(str)    def __init__(self, parent=None):        super(MyWidget, self).__init__(parent)        self.line_edit = QLineEdit(self)        layout = QVBoxLayout(self)        layout.addWidget(self.line_edit)        self.line_edit.textChanged.connect(self.on_textChanged)    @pyqtSlot(str)    def on_textChanged(self, text):        self.textChanged.emit(text)if __name__ == "__main__":    app = QApplication(sys.argv)    widget = MyWidget()    widget.show()    other = other_module.OtherClass()    widget.textChanged.connect(other.on_textChanged)    sys.exit(app.exec_())
# file: other_module.pyfrom PyQt5.QtCore import QObject, pyqtSlotclass OtherClass(QObject):    @pyqtSlot(str)    def on_textChanged(self, text):        print(f"Text changed: {text}")
 类似资料:
  • 问题内容: 我正在尝试编写一个多线程Python应用程序,其中在线程之间共享一个SQlite连接。我无法使它正常工作。真正的应用程序是一个小巧的Web服务器,但是以下简单代码演示了我的问题。 为了成功运行下面的示例代码,我需要进行哪些更改? 当我在THREAD_COUNT设置为1的情况下运行此程序时,它可以正常工作,并且数据库已按预期进行更新(即,字母“ X”被添加到SectorGroup列的文本

  • 问题内容: 我有一个基于python的程序,该程序从连接到rs232电缆的端口读取串行数据。我想将此处获得的数据传递给C程序,该程序将处理计算密集型方面。我一直在检查网络,发现的所有内容都是基于Linux的。 问题答案: 使用管道并弹出 解决此问题的最简单方法可能就是使用。该函数在Python和C中都可用,并且将使用管道将任何一种语言的程序与另一种语言连接。 有了管道后,您可能应该通过它发送yam

  • 问题内容: 可以说我有: 我有一个 ApplicationModule ,它需要为 Rec 和 Circle 提供实例: 和 ApplicationComponent : 以这种方式使用代码-无法编译。错误说 错误:(33,20)错误:形状被绑定多次。 对我来说,这是不可行的,因为该组件正试图找到一个实例,并且它找到了两个实例,因此它不知道要返回哪个实例。 我的问题是-我该如何处理? 问题答案:

  • 问题内容: 我的MySQL数据库中有这些表: 通用表: Facebook表: 首席表: 基本上,常规表包含一些( 显然 )常规数据。基于generalTable.scenario,您可以在其他两个表中查找更多详细信息,这些表在某些熟悉的列中(例如,expiresAt),而在其他一些列中则不然。 我的问题是,如何仅通过一个查询就可以获取generalTable和正确的明细表的联接数据。 所以,我想这

  • 我正在使用Python和tkinter创建一个游戏,当我试图添加一些音乐时,制作音乐的函数停止了脚本的其余部分(还有窗口)。所以我需要创建一个新的线程来播放音频并保持窗口工作... 我尝试了一些错误、不运行或停止窗口的事情,目前我有: 重要的细节:playSound函数什么也不返回,所以什么都不需要等待它。我也不太懂用Python编程,我更喜欢用Luau。

  • 问题内容: 如何使用模块执行以下shell命令? 输入数据将来自字符串,因此我实际上并不需要echo。我已经走了这么远,还有谁能解释我也可以通过它进行管道传输sort吗? 更新:请注意,尽管下面接受的答案实际上并没有回答所提出的问题,但我相信S.Lott是正确的,最好避免首先解决该问题! 问题答案: 您将对以下内容感到满意。 将部分工作委托给外壳。让它通过管道连接两个进程。 您将更高兴地将重写为P