pyQT5 实现窗体之间传值的示例


Posted in Python onJune 20, 2019

准备

一个MainWindow和一个WidgetForm,总代码如下

# -*- coding: utf-8 -*-
 
from PyQt5 import QtWidgets
from main_windows import Ui_MainWindow
import sys
from wid_defs import my_widgets
from dlg_defs import my_Dialog
 
class MyWindow(QtWidgets.QMainWindow,Ui_MainWindow):
  def __init__(self):
    super(MyWindow,self).__init__()
    self.setupUi(self)
    
  def openDialog(self):
     self.dlg = my_Dialog()
     www = self.textEdit.toPlainText()
     self.dlg.setT(www)
     self.dlg.exec_()  
    
  def openWidget(self):
    self.wid = my_widgets()
    self.wid.pushButton.clicked.connect(self.GetText)
    www= self.textEdit.toPlainText()
    self.wid.setT(www)    
    self.wid.show() #close wid form
    
    
  def GetText(self):
    self.textEdit.setText(self.wid.textEdit.toPlainText())   
    self.wid.close() 
    
if __name__ == "__main__":
  app = QtWidgets.QApplication(sys.argv)
  mainWindow = MyWindow()
  mainWindow.show()
  sys.exit(app.exec_())

1 父窗体—子窗体

def slot3(self):
     self.dlg = my_Dialog()
     www = self.textEdit.toPlainText()
     self.dlg.setT(www)
     self.dlg.exec_()

1 实例化子窗体:

self.dlg = my_Dialog()

2 直接将父窗体中的变量:

www = self.textEdit.toPlainText()

3 赋给子窗体的对象:

self.dlg.setT(www)

4 再调出子窗体

self.dlg.exec_()

pyQT5 实现窗体之间传值的示例

运行点击 openDialog按钮,会将父窗体textEdit中的内容传到子窗体中。

2 子窗体—父窗体

def slot2(self):
    #widgetForm
    self.wid = my_widgets()
    self.wid.pushButton.clicked.connect(self.GetLine)
    
    #dialog
    self.dlg = my_Dialog()
    self.dlg.buttonBox.accepted.connect(self.GetLine)
    
    www= self.textEdit.toPlainText()
    self.wid.setT(www)    
    self.wid.show()
 
  def GetText(self):
    self.textEdit.setText(self.wid.textEdit.toPlainText())

1 实例化子窗体

self.wid = my_widgets()

2 子窗体按钮(通常是确认按钮)添加关联到父窗体的函数Getline()

(1)widgetForm的方法

self.wid.pushButton.clicked.connect(self.GetLine)

(2)Dialog的方法

self.dlg.buttonBox.accepted.connect(self.GetLine)

3 定义getline函数的内容,函数将在子窗体确认按钮点击后执行

def GetLine(self):
    self.textEdit.setText(self.dlg.textEdit.toPlainText())

pyQT5 实现窗体之间传值的示例

在子窗体中点击OK,会将子窗体文本框文字传递到父窗体的文本框中

以上这篇pyQT5 实现窗体之间传值的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
约瑟夫问题的Python和C++求解方法
Aug 20 Python
python中获得当前目录和上级目录的实现方法
Oct 12 Python
import的本质解析
Oct 30 Python
Python数据分析库pandas基本操作方法
Apr 08 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
Jun 14 Python
Python中调用其他程序的方式详解
Aug 06 Python
使用apiDoc实现python接口文档编写
Nov 19 Python
pycharm 更改创建文件默认路径的操作
Feb 15 Python
Python如何实现定时器功能
May 28 Python
CentOS 7如何实现定时执行python脚本
Jun 24 Python
python中pyqtgraph知识点总结
Jan 26 Python
浅谈python数据类型及其操作
May 25 Python
python3.6环境安装+pip环境配置教程图文详解
Jun 20 #Python
Python 3.6 -win64环境安装PIL模块的教程
Jun 20 #Python
详解Python 调用C# dll库最简方法
Jun 20 #Python
python async with和async for的使用
Jun 20 #Python
python aiohttp的使用详解
Jun 20 #Python
Python 中Django验证码功能的实现代码
Jun 20 #Python
Puppeteer使用示例详解
Jun 20 #Python
You might like
php5编程中的异常处理详细方法介绍
2008/07/29 PHP
JS 网站性能优化笔记
2011/05/24 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
分享PHP header函数使用教程
2013/09/05 PHP
ThinkPHP使用心得分享-分页类Page的用法
2014/05/15 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
2016/10/17 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
详解jquery事件delegate()的使用方法
2016/01/25 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
2017/08/16 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
Three.js实现浏览器变动时进行自适应的方法
2017/09/26 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
vue脚手架及vue-router基本使用
2018/04/09 Javascript
react 应用多入口配置及实践总结
2018/10/17 Javascript
vue动态配置模板 'component is'代码
2019/07/04 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
简单理解Python中基于生成器的状态机
2015/04/13 Python
python制作websocket服务器实例分享
2016/11/20 Python
Python基础教程之tcp socket编程详解及简单实例
2017/02/23 Python
Python 2.x如何设置命令执行的超时时间实例
2017/10/19 Python
python去掉空白行的多种实现代码
2018/03/19 Python
python list元素为tuple时的排序方法
2018/04/18 Python
带你认识Django
2019/01/15 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
如何使用Python实现斐波那契数列
2019/07/02 Python
浅谈python的elementtree模块处理中文注意事项
2020/03/06 Python
css3编写浏览器背景渐变背景色的方法
2018/03/05 HTML / CSS
社会主义核心价值观主题教育活动总结
2015/05/07 职场文书
2019年干货:自我鉴定
2019/03/25 职场文书
详解Redis基本命令与使用场景
2021/06/01 Redis
手写Spirit防抖函数underscore和节流函数lodash
2022/03/22 Javascript