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中的index()方法使用教程
May 18 Python
matplotlib绘制动画代码示例
Jan 02 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
Apr 19 Python
基于DATAFRAME中元素的读取与修改方法
Jun 08 Python
Python爬取数据并写入MySQL数据库的实例
Jun 21 Python
Sanic框架异常处理与中间件操作实例分析
Jul 16 Python
浅谈python脚本设置运行参数的方法
Dec 03 Python
python sklearn库实现简单逻辑回归的实例代码
Jul 01 Python
Python线程协作threading.Condition实现过程解析
Mar 12 Python
Django 解决开发自定义抛出异常的问题
May 21 Python
基于Python正确读取资源文件
Sep 14 Python
python神经网络学习 使用Keras进行回归运算
May 04 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
将RTF格式的文件转成HTML并在网页中显示的代码
2006/10/09 PHP
PHP中mb_convert_encoding与iconv函数的深入解析
2013/06/21 PHP
php实现修改新闻时删除图片的方法
2015/05/12 PHP
php实现可逆加密的方法
2015/08/11 PHP
Yii2增删改查之查询 where参数详细介绍
2016/08/08 PHP
PHP数据对象映射模式实例分析
2019/03/29 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
如何重写Laravel异常处理类详解
2020/12/20 PHP
JavaScript中的集合及效率
2010/01/08 Javascript
基于jquery的inputlimiter 实现字数限制功能
2010/05/30 Javascript
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
js比较和逻辑运算符的介绍
2013/03/10 Javascript
Nodejs极简入门教程(三):进程
2014/10/27 NodeJs
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
详解JavaScript常量定义
2017/01/03 Javascript
原生js实现下拉框功能(支持键盘事件)
2017/01/13 Javascript
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
[02:32]DOTA2亚洲邀请赛 VG战队巡礼
2015/02/03 DOTA
[42:52]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
SVM基本概念及Python实现代码
2017/12/27 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
BeautifulSoup获取指定class样式的div的实现
2020/12/07 Python
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
2017/08/15 HTML / CSS
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
中国一家专注拼团的社交购物网站:拼多多
2018/06/13 全球购物
Wojas罗马尼亚网站:波兰皮鞋品牌
2018/11/01 全球购物
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
2014/12/12 面试题
详细的大学生创业计划书模板
2014/01/27 职场文书
暑期培训随笔感言
2014/03/10 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
2014年化验员工作总结
2014/11/18 职场文书
党员电教片《信仰》心得体会
2016/01/15 职场文书
Mysql Online DDL的使用详解
2021/05/20 MySQL
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python