编辑“︁
PyQt
”︁(章节)
跳转到导航
跳转到搜索
Template:Editnotice load/content
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
== Qt设计器 == Qt设计器是Qt所包含的可视化UI设计器。在安装PyQt时,可以选择安装Qt设计器。它使用拖拉操作来设计图形界面。在设计的同时,还能够直接预览最终的窗体效体。当窗体很复杂或者整个程序需要大量的窗体时,Qt设计器可以节省大量的代码。不过稍有改变的是,设计好窗体后需要运行pyuic4这个脚本,将窗体文件转换成Python代码。仍以“简单例子”中的小程序为例,首先使用Qt设计器设计出窗体。假定保存为"h:\pyqt_example.ui"。窗体文件内容是: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> <class>TestWidget</class> <widget class="QWidget" name="TestWidget"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>361</width> <height>271</height> </rect> </property> <property name="windowTitle"> <string>A Simple Example for PyQt.</string> </property> <layout class="QVBoxLayout" name="verticalLayout"> <item> <widget class="QTextBrowser" name="outputArea"/> </item> <item> <widget class="QPushButton" name="helloButton"> <property name="text"> <string>问候(&S)</string> </property> </widget> </item> </layout> </widget> <resources/> <connections/> </ui> </syntaxhighlight> 使用如下命令将窗体文件转换成Python代码(适用于Windows系统): <syntaxhighlight lang="dos"> H:\> C:\Python26\pyuic4.bat -o ui_pyqt_example.py pyqt_example.ui </syntaxhighlight> 新的示例程序是(假定保存为h:\pyqt_example.py): <syntaxhighlight lang="python"> # -*- coding: utf-8 -*- #该程序适合Python 2.x版本。 import sys from PyQt4.QtGui import * #差异1:从转换后的代码里面导入窗体 from ui_pyqt_example import Ui_TestWidget #差异2:需要继承Ui_TestWidget class TestWidget(QWidget, Ui_TestWidget): def __init__(self): QWidget.__init__(self) #差异3:原来长篇累牍的创建控件的代码不再需要了,取而代之的是一行简单的setupUi() self.setupUi(self) self.helloButton.clicked.connect(self.sayHello) def sayHello(self): yourName, okay=QInputDialog.getText(self, self.trUtf8("请问你的名字是?"), self.trUtf8(b"名字")) if not okay or yourName==u"": #用户没有输入名字,而是点了取消 self.outputArea.append(self.trUtf8("你好,陌生人!")) else: self.outputArea.append(self.trUtf8("你好,<b>%1</b>。").arg(yourName)) app=QApplication(sys.argv) testWidget=TestWidget() testWidget.show() sys.exit(app.exec_()) </syntaxhighlight>
摘要:
请注意,所有对Local Chinese Wikipedia的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Project:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
大陆简体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息