PyQt5主窗口动态加载Widget实例代码


Posted in Python onFebruary 07, 2018

本文研究的主要是PyQt5主窗口动态加载Widget的代码示例,具体如下。

我们通过Qt Designer设计两个窗口,命名为主窗口(MainForm)和子窗口(ChildrenForm)。我们在主窗口的空白中央添加一个栅格布局并命名为MaingridLayout,等会需要将ChildrenForm放进去。

PyQt5主窗口动态加载Widget实例代码

编写代码

from PyQt5 import QtWidgets 
from MainForm import Ui_MainForm 
from Children import Ui_Form 
 
from PyQt5.QtWidgets import QFileDialog 
 
class MainForm(QtWidgets.QMainWindow,Ui_MainForm): 
  def __init__(self): 
    super(MainForm,self).__init__() 
    self.setupUi(self) 
 
    self.child=ChildrenForm()             #self.child = children()生成子窗口实例self.child 
 
 
    self.fileOpen.triggered.connect(self.openMsg)   #菜单的点击事件是triggered 
    self.fileClose.triggered.connect(self.close) 
    self.actionTst.triggered.connect(self.childShow)  #点击actionTst,子窗口就会显示在主窗口的MaingridLayout中 
 
  def childShow(self): 
    self.MaingridLayout.addWidget(self.child)     #添加子窗口 
    self.child.show() 
 
 
  def openMsg(self): 
    file,ok=QFileDialog.getOpenFileName(self,"打开","C:/","All Files (*);;Text Files (*.txt)") 
    self.statusbar.showMessage(file)          #在状态栏显示文件地址 
 
class ChildrenForm(QtWidgets.QWidget,Ui_Form): 
  def __init__(self): 
    super(ChildrenForm,self).__init__() 
    self.setupUi(self) 
 
if __name__=="__main__": 
  import sys 
 
  app=QtWidgets.QApplication(sys.argv) 
  myshow=MainForm() 
  myshow.show() 
  sys.exit(app.exec_())

总结

以上就是本文关于PyQt5主窗口动态加载Widget实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
python标准日志模块logging的使用方法
Nov 01 Python
用Python中的字典来处理索引统计的方法
May 05 Python
深入理解python中的闭包和装饰器
Jun 12 Python
python 捕获 shell/bash 脚本的输出结果实例
Jan 04 Python
基于python的多进程共享变量正确打开方式
Apr 28 Python
python write无法写入文件的解决方法
Jan 23 Python
​如何愉快地迁移到 Python 3
Apr 28 Python
如何在Cloud Studio上执行Python代码?
Aug 09 Python
关于python3中setup.py小概念解析
Aug 22 Python
Python基本语法之运算符功能与用法详解
Oct 22 Python
Python统计时间内的并发数代码实例
Dec 28 Python
Python Socket多线程并发原理及实现
Dec 11 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
Feb 07 #Python
PyQt5打开文件对话框QFileDialog实例代码
Feb 07 #Python
python OpenCV学习笔记直方图反向投影的实现
Feb 07 #Python
Python实现上下班抢个顺风单脚本
Feb 07 #Python
Python SqlAlchemy动态添加数据表字段实例解析
Feb 07 #Python
Python实现抢购IPhone手机
Feb 07 #Python
浅谈python可视化包Bokeh
Feb 07 #Python
You might like
php 文件缓存函数
2011/10/08 PHP
php实现插入排序
2015/03/29 PHP
Yii2 assets清除缓存的方法
2016/05/16 PHP
php 从一个数组中随机的取出若干个不同的数实例
2016/12/31 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
2018/08/19 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
DIV始终居中的js代码
2014/02/17 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
jQuery树插件zTree使用方法详解
2017/05/02 jQuery
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
Three.js利用性能插件stats实现性能监听的方法
2017/09/25 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
vue webpack打包后图片路径错误的完美解决方法
2018/12/07 Javascript
详解从react转职到vue开发的项目准备
2019/01/14 Javascript
JSON的parse()方法介绍
2019/01/31 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
2019/04/22 Javascript
vue不操作dom实现图片轮播的示例代码
2019/12/18 Javascript
python 解析html之BeautifulSoup
2009/07/07 Python
Python的Django框架中settings文件的部署建议
2015/05/30 Python
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
详谈Python2.6和Python3.0中对除法操作的异同
2017/04/28 Python
python3设计模式之简单工厂模式
2017/10/17 Python
python实现冒泡排序算法的两种方法
2018/03/10 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
Python Pandas数据结构简单介绍
2019/07/03 Python
关于Kotlin中SAM转换的那些事
2020/09/15 Python
网络维护中文求职信
2014/01/03 职场文书
区优秀教师事迹材料
2014/02/10 职场文书
网络工程师专家职业发展路线
2014/02/14 职场文书
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python
php png失真的原因及解决办法
2021/10/24 PHP
Oracle中DBLink的详细介绍
2022/04/29 Oracle