[转]*PyQt4 精彩实例分析* 实例10 …
来源:互联网 发布:淘宝化妆品销量排行榜 编辑:程序博客网 时间:2024/05/03 13:58
本实例使用一个简单的例子说明如何在程序开发中使用Designer生成.ui文件。本实例利用QtDesigner生成了3个简单的ui,在使用时,两个ui插入到主程序的QTabWidget中,另一个ui由按钮触发弹出,如下图所示。主程序窗口TestDialog采用的是手动编写代码的实现方式。
利用QtDesigner设计生成的.ui文件,在使用时可利用Qt自带的工具pyuic4生成ui_xxx.py文件进行使用。
下图是本实例使用Qt Designer设计的3个ui文件。
然后使用pyuic4对这三个ui文件进行转换,如下图所示。
下面是本实例的代码实现。
- from
PyQt4.QtGui import* - from
PyQt4.QtCore import* - import
ui_10_1,ui_10_2,ui_10_3 - import
sys -
- class
TestDialog(QDialog): -
def __init__( self,parent=None): -
super(TestDialog,self).__init__(parent) -
-
firstUi=ui_10_1.Ui_Dialog() -
secondUi=ui_10_2.Ui_Dialog() -
self.thirdUi=ui_10_3.Ui_Dialog() -
-
tabWidget=QTabWidget(self) -
w1=QWidget() -
firstUi.setupUi(w1) -
w2=QWidget() -
secondUi.setupUi(w2) -
-
tabWidget.addTab(w1,"First") -
tabWidget.addTab(w2,"Second") -
tabWidget.resize(380,380) -
-
self.connect(firstUi.childPushButton,SIGNAL("clicked()"),self.slotChild) -
self.connect(secondUi.closePushButton,SIGNAL("clicked()"),self,SLOT("reject()")) -
-
def slotChild( self): -
dlg=QDialog() -
self.thirdUi.setupUi(dlg) -
dlg.exec_() -
- app=QApplication(sys.argv)
- dialog=TestDialog()
- dialog.show()
- app.exec_()
import ui_10_1,ui_10_2,ui_10_3 这三个文件是通过pyuic4工具根据相应的ui文件生成的。
slotChild()槽函数用于响应弹出子窗口的按钮事件。
主程序中声明了3个变量,firstUi,secondUi,thirdUi分别对应3个ui。
第14行首先创建一个QTabWidget对象。
第15,16行创建第一个ui,首先新建一个QWidget对象,以此QWidget对象为参数调用第一个ui的setupUi()函数,生成第一个ui页面。
第17,18行以同样的方式创建第二个ui画面。
第20-22行在QTabWidget对象中插入两个准备好的ui页面。
第24行连接第一个ui页面上的childPushButton的clicked()信号与slotChild()槽函数。
第25行连接第二个ui页面上closePushButton的clicked()信号与reject()槽函数,关闭主窗口程序。
实现弹出对话框的槽函数slotChild()中,首先新建一个QDialog对象,以此QDialog对象为参数调用第三个ui对象的setupUi()函数,最后调用exec()显示此对话框。
- [转]*PyQt4 精彩实例分析* 实例10 …
- linux 脚本实例 …
- [转]Python实例讲解 -- wxpython …
- 实例区别NSDictionary / NSMutable…
- PHPCMS v9构建模块 - 实例之…
- PHPCMS V9构建模块 - 实例之…
- PyQt4 精彩实例分析* 实例22 电子钟
- [转] 彼尔…
- Java rmi开发实例 泽0715 新浪博…
- 一个Mapreduce 实例
- PHP+ACCESS 实例
- mongodb mapReduce实例
- memcached server LRU 深入分析(转…
- ORACLE:实例化 EM 配置文件时出错…
- 第二天 营火 《苹果iOS实例…
- Matlab画图实例之一 &n…
- ecmall 实例 创建app
- PHP Socket 编程简单实例
- [转]Python编程语言与Java的性能比…
- [转]java环境变量配置
- [转]java中为什么使用htmlconverte…
- [转]QT皮肤(QSS)编程
- [转]如何在pyqt中使用qt的ui(来自…
- [转]*PyQt4 精彩实例分析* 实例10 …
- [转]jar打包命令详解
- [转]Java数组的复制
- [转]堆排序详解
- [原]归并排序的java递归实现
- [改] vs2010+win7x64+opencv2…
- [链接]OpenCV中的python接口
- [转]OpenCv中没有找到tbb_debug.dl…
- cvMemStorage