python多窗口调用_pyqt 多窗口之间的相互调用方法

本文介绍了如何使用PyQT创建并管理多个窗口,包括从主窗口调用其他窗口,以及添加按钮打开文件资源管理器,实现文件选择功能。详细展示了窗口和按钮的布局设置以及事件绑定。
摘要由CSDN通过智能技术生成

* 在编程开发中,一个程序不可避免的需要多窗口操作来实现具体的功能。

实现此功能的基本步骤(以三个窗口为例,使用主窗口调用其它两个窗口)

# 主窗口

from pyqt5 import qtcore, qtgui, qtwidgets

class ui_mainwindow(object):

def setupui(self, mainwindow):

mainwindow.setobjectname("mainwindow")

mainwindow.resize(800, 600)

self.centralwidget = qtwidgets.qwidget(mainwindow)

self.centralwidget.setobjectname("centralwidget")

self.pushbutton = qtwidgets.qpushbutton(self.centralwidget)

self.pushbutton.setgeometry(qtcore.qrect(70, 180, 75, 23))

self.pushbutton.setobjectname("pushbutton")

self.pushbutton_2 = qtwidgets.qpushbutton(self.centralwidget)

self.pushbutton_2.setgeometry(qtcore.qrect(250, 180, 75, 23))

self.pushbutton_2.setobjectname("pushbutton_2")

mainwindow.setcentralwidget(self.centralwidget)

self.menubar = qtwidg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用QProcess类来在PyQt5中调用Python脚本并在原窗口中显示输出结果。以下是一个简单的例子: ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QAction, QFileDialog, QHBoxLayout, QWidget from PyQt5.QtCore import QProcess class MainWindow(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): self.textEdit = QTextEdit() self.setCentralWidget(self.textEdit) runAction = QAction('Run Script', self) runAction.triggered.connect(self.runScript) fileMenu = self.menuBar().addMenu('File') fileMenu.addAction(runAction) self.setGeometry(300, 300, 500, 400) self.setWindowTitle('PyQt5 Run Python Script') def runScript(self): # 打开文件对话框选择Python脚本文件 fileName, _ = QFileDialog.getOpenFileName(self, "Select Python Script", "", "Python Files (*.py)") if fileName: # 创建QProcess对象并设置工作目录和命令 process = QProcess(self) process.setWorkingDirectory('.') process.start('python', [fileName]) # 读取进程的输出并在文本编辑器中显示 while process.waitForReadyRead(): output = process.readAll() self.textEdit.insertPlainText(str(output, 'utf-8')) if __name__ == '__main__': app = QApplication(sys.argv) mainWindow = MainWindow() mainWindow.show() sys.exit(app.exec_()) ``` 这个例子创建一个带有文本编辑器的主窗口,同时提供了一个菜单选项“Run Script”来运行Python脚本。当用户点击该选项时,会打开一个文件对话框以选择Python脚本文件,并将其作为参数传递给QProcess对象的start()方法。然后,它将读取进程的输出,并将其插入到文本编辑器中以在原窗口中显示输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值