<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=PyQt</id>
	<title>PyQt - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=PyQt"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=PyQt&amp;action=history"/>
	<updated>2026-07-01T14:18:57Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=PyQt&amp;diff=523340&amp;oldid=prev</id>
		<title>imported&gt;CYCcc：​修正筆誤</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=PyQt&amp;diff=523340&amp;oldid=prev"/>
		<updated>2023-12-13T17:53:03Z</updated>

		<summary type="html">&lt;p&gt;修正筆誤&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{noteTA&lt;br /&gt;
|G1=IT&lt;br /&gt;
}}&lt;br /&gt;
{{ Infobox Software&lt;br /&gt;
| name = PyQt&lt;br /&gt;
| logo                   = Python and Qt.svg&lt;br /&gt;
| logo size              = 160px&lt;br /&gt;
| screenshot             = Screenshot-qt-designer-qwebview.png&lt;br /&gt;
| screenshot size        = 300px&lt;br /&gt;
| caption                = Qt Designer&lt;br /&gt;
| developer              = Riverbank Computing&lt;br /&gt;
| released = 1998&lt;br /&gt;
| latest release version = {{wikidata|property|edit|reference|P348}}&lt;br /&gt;
| latest release date = {{wikidata|qualifier|P348|P577}}，{{Time ago|{{wikidata|qualifier|raw|P348|P577}}}}&lt;br /&gt;
| latest preview version =&lt;br /&gt;
| latest preview date    = &lt;br /&gt;
| operating system       = [[跨平台]]&lt;br /&gt;
| programming language   = [[C++]] / [[Python]]&amp;lt;ref&amp;gt;{{cite web|url=http://www.riverbankcomputing.com/software/pyqt/download|title=PyQt4 Download|publisher=Riverbankcomputing|year=2010|access-date=2010-04-19|archive-date=2010-02-21|archive-url=https://web.archive.org/web/20100221211033/http://www.riverbankcomputing.com/software/pyqt/download|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| genre                  =&lt;br /&gt;
| license                = [[GNU GPL]]和商業授權&lt;br /&gt;
| website                = [http://www.riverbankcomputing.com/software/pyqt/ riverbankcomputing.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PyQt&amp;#039;&amp;#039;&amp;#039;是[[Python]]语言的[[GUI]]编程解决方案之一。可以用来代替Python内置的[[Tkinter]]。其它替代者还有[[PyGTK]]、[[wxPython]]等。与[[Qt]]一样，PyQt是一个[[自由软件]]。PyQt是[[PyKDE]]的基础。&lt;br /&gt;
&lt;br /&gt;
PyQt的开发者是英国的“Riverbank Computing”公司。与4.5版本之前的Qt一样，它提供了[[GPL]]与商业协议两种授权方式，因此它可以免费地用于自由软件的开发。不过目前尚不提供[[LGPL]]授权方式。PyQt可以运行于[[Windows|Microsoft Windows]]、[[OS X|Mac OS X]]、[[Linux]]以及[[Unix]]的多数变种上。&lt;br /&gt;
&lt;br /&gt;
2009年8月，Qt的开发公司[[诺基亚]]发布[[PySide]]，提供与PyQt类似的功能，但提供了LGPL授权。主要原因是“Riverbank Computing”不愿以LGPL授权发布PyQt。&amp;lt;ref&amp;gt;{{cite web |url=http://www.pyside.org/2009/08/pyside-has-been-released/ |title=PySide has been released – PySide – Python for Qt |publisher=Pyside.org |date=2009-08-18 |accessdate=2009-09-03 |deadurl=yes |archiveurl=https://web.archive.org/web/20091025170910/http://www.pyside.org/2009/08/pyside-has-been-released/ |archivedate=2009-10-25 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
自4.5版本以后&amp;lt;ref&amp;gt;{{cite web|url=http://www.riverbankcomputing.co.uk/news/pyqt-45|title=PyQt v4.5 Released|publisher=Riverbank Computing Limited|date=2009-06-05|access-date=2011-04-28|archive-url=https://web.archive.org/web/20101114003918/http://www.riverbankcomputing.co.uk/news/pyqt-45|archive-date=2010-11-14|dead-url=yes}}&amp;lt;/ref&amp;gt;，PyQt同时支持Python 2.x与Python 3.x。但是在API方面有所区别，最主要的是运行在Python 3.x下的PyQt不使用&amp;lt;code&amp;gt;QString&amp;lt;/code&amp;gt;，而是&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;。另外，之前为了避开Python 2.x关键词限制的&amp;lt;code&amp;gt;exec_()&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;print_()&amp;lt;/code&amp;gt;两个函数现在重新命名为&amp;lt;code&amp;gt;exec()&amp;lt;/code&amp;gt;，&amp;lt;code&amp;gt;print()&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
[[Image:Python and Qt 2.svg|160px|thumb|另外一種PyQt標誌]]&lt;br /&gt;
&lt;br /&gt;
== PyQt组件 ==&lt;br /&gt;
&lt;br /&gt;
PyQt包含了大约440个类型、超过6000个的函数和方法。&lt;br /&gt;
&lt;br /&gt;
* “QtCore”模块主要包含了一些非GUI的基础功能，包含事件循环与Qt的信号机制。此外，还提供了跨平台的[[Unicode]]、[[线程]]、[[内存映射文件]]、[[共享内存]]、[[正则表达式]]和用户设置。&lt;br /&gt;
&lt;br /&gt;
* “QtGui”模块包含了大多数的GUI类型。包含按钮、文本框、列表等常见控件，还包含了基于[[MVC]]设计模式的列表、表格、树型控件。同时还提供了一个能够容纳成千上万个元素的画布控件，其中可以放置各种控件和图形。此外，QtGui还支持界面动画与界面状态机编程。&lt;br /&gt;
&lt;br /&gt;
* “QtNetwork”模块可以用于编写非阻塞式的UDP、TCP程序。还包含了DNS、HTTP与FTP的客户端。&lt;br /&gt;
&lt;br /&gt;
* “QtOpenGL”模块允许Qt程序使用[[OpenGL]]渲染3D图形，而且不必大量更改代码。&lt;br /&gt;
&lt;br /&gt;
* “QtSql”模块支持多种SQL数据库。包括[[SQLite]]、[[ODBC]]、[[MySQL]]、[[PostgreSQL]]、[[Oracle]]。还提供了一个基于[[MVC]]模式的数据模型，与QtGui的的表格控件配合使用。&lt;br /&gt;
&lt;br /&gt;
* “QtXml”包含一个[[XML]]解释器，同时支持[[SAX]]和[[DOM]]两种编程方式。&lt;br /&gt;
&lt;br /&gt;
* “QtWebkit”与“QtScript”两个子模块支持[[WebKit]]与[[ECMAScript]]脚本语言&lt;br /&gt;
&lt;br /&gt;
* “Phonon”子模块支持高级的多媒体编程。包含音频播放器、视频播放器与声效处理。&lt;br /&gt;
&lt;br /&gt;
* “uic”子模块能够将Qt的窗体文件转换为Python代码，能够即时读入窗体文件并且显示出来。它依赖于QtXml模块。“QScintilla”子模块包含一个基于Scintilla的文本编辑器控件，Eric IDE使用它作为代码编辑器。“QtMultimedia”提供了底层的多媒体支持，现在多数开发者改用Phonon模块。“QtSvg”支持SVG 1.2 Tiny的静态标准，用于显示与保存SVG格式的图形。&lt;br /&gt;
&lt;br /&gt;
== 简单例子 ==&lt;br /&gt;
&lt;br /&gt;
下面一段代码演示了一个简单的PyQt程序，它的功能是在窗体内显示一个按钮，当按下按钮时，要求用户输入名字。根据用户是否输入了名字，会分别显示两种问候语。&lt;br /&gt;
[[File:PyQt_Example_Screenshot.png|frame|right|結果]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
#该程序适合Python 2.x&lt;br /&gt;
&lt;br /&gt;
import sys&lt;br /&gt;
from PyQt4.QtGui import *&lt;br /&gt;
&lt;br /&gt;
class TestWidget(QWidget):&lt;br /&gt;
    def __init__(self):&lt;br /&gt;
        QWidget.__init__(self, windowTitle=u&amp;quot;A Simple Example for PyQt.&amp;quot;)&lt;br /&gt;
        self.outputArea=QTextBrowser(self)&lt;br /&gt;
        self.helloButton=QPushButton(self.trUtf8(&amp;quot;问候(&amp;amp;S)&amp;quot;), self)&lt;br /&gt;
        self.setLayout(QVBoxLayout())&lt;br /&gt;
        self.layout().addWidget(self.outputArea)&lt;br /&gt;
        self.layout().addWidget(self.helloButton)&lt;br /&gt;
&lt;br /&gt;
        self.helloButton.clicked.connect(self.sayHello)&lt;br /&gt;
&lt;br /&gt;
    def sayHello(self):&lt;br /&gt;
        yourName, okay=QInputDialog.getText(self, self.trUtf8(&amp;quot;请问你的名字是?&amp;quot;), self.trUtf8(b&amp;quot;名字&amp;quot;))&lt;br /&gt;
        if not okay or yourName==u&amp;quot;&amp;quot;: #用户没有输入名字，或者是点了取消&lt;br /&gt;
            self.outputArea.append(self.trUtf8(&amp;quot;你好，陌生人！&amp;quot;))&lt;br /&gt;
        else:&lt;br /&gt;
            self.outputArea.append(self.trUtf8(&amp;quot;你好，&amp;lt;b&amp;gt;%1&amp;lt;/b&amp;gt;。&amp;quot;).arg(yourName))&lt;br /&gt;
&lt;br /&gt;
app=QApplication(sys.argv)&lt;br /&gt;
testWidget=TestWidget()&lt;br /&gt;
testWidget.show()&lt;br /&gt;
sys.exit(app.exec_())&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== signal和slot ==&lt;br /&gt;
&lt;br /&gt;
Qt采用了signal和slot的概念来处理GUI程序中的用户事件。PyQt同样支持这种方法，还进而针对Python的特点增强了某些功能。任何Python类型都可以定义signal和slot，并与GUI控件的signal和slot相连接。PyQt支持old-style与new-style两种连接方式。不过，目前一般推荐使用new-style connection。因为它还支持连接到Python函数，而且看起来也比较pythonic。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
#old-style connection，&lt;br /&gt;
self.connect(self, SIGNAL(&amp;quot;mySignal(int)&amp;quot;), self, SLOT(&amp;quot;mySlot(int)&amp;quot;))&lt;br /&gt;
#new-style connection&lt;br /&gt;
self.mySignal.connect(self.mySlot)&lt;br /&gt;
#连接到函数&lt;br /&gt;
self.mySignal.connect(lambda value:sys.stdout.write(str(value)))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;QMetaObject.connectSlotsByName(obj)&amp;lt;/code&amp;gt;函数可以帮助程序员自动连接signal和slot。使用它可以免去很多代码。&lt;br /&gt;
&lt;br /&gt;
== Qt设计器 ==&lt;br /&gt;
&lt;br /&gt;
Qt设计器是Qt所包含的可视化UI设计器。在安装PyQt时，可以选择安装Qt设计器。它使用拖拉操作来设计图形界面。在设计的同时，还能够直接预览最终的窗体效体。当窗体很复杂或者整个程序需要大量的窗体时，Qt设计器可以节省大量的代码。不过稍有改变的是，设计好窗体后需要运行pyuic4这个脚本，将窗体文件转换成Python代码。仍以“简单例子”中的小程序为例，首先使用Qt设计器设计出窗体。假定保存为&amp;quot;h:\pyqt_example.ui&amp;quot;。窗体文件内容是：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;TestWidget&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;TestWidget&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;361&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;271&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;A Simple Example for PyQt.&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;layout class=&amp;quot;QVBoxLayout&amp;quot; name=&amp;quot;verticalLayout&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item&amp;gt;&lt;br /&gt;
    &amp;lt;widget class=&amp;quot;QTextBrowser&amp;quot; name=&amp;quot;outputArea&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item&amp;gt;&lt;br /&gt;
    &amp;lt;widget class=&amp;quot;QPushButton&amp;quot; name=&amp;quot;helloButton&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;property name=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;string&amp;gt;问候(&amp;amp;amp;S)&amp;lt;/string&amp;gt;&lt;br /&gt;
     &amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/widget&amp;gt;&lt;br /&gt;
   &amp;lt;/item&amp;gt;&lt;br /&gt;
  &amp;lt;/layout&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
使用如下命令将窗体文件转换成Python代码（适用于Windows系统）：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;dos&amp;quot;&amp;gt;&lt;br /&gt;
H:\&amp;gt; C:\Python26\pyuic4.bat -o ui_pyqt_example.py pyqt_example.ui&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
新的示例程序是（假定保存为h:\pyqt_example.py）：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
#该程序适合Python 2.x版本。&lt;br /&gt;
&lt;br /&gt;
import sys&lt;br /&gt;
from PyQt4.QtGui import *&lt;br /&gt;
#差异1：从转换后的代码里面导入窗体&lt;br /&gt;
from ui_pyqt_example import Ui_TestWidget&lt;br /&gt;
&lt;br /&gt;
#差异2：需要继承Ui_TestWidget&lt;br /&gt;
class TestWidget(QWidget, Ui_TestWidget):&lt;br /&gt;
    def __init__(self):&lt;br /&gt;
        QWidget.__init__(self)&lt;br /&gt;
        #差异3：原来长篇累牍的创建控件的代码不再需要了，取而代之的是一行简单的setupUi()&lt;br /&gt;
        self.setupUi(self)&lt;br /&gt;
        self.helloButton.clicked.connect(self.sayHello)&lt;br /&gt;
&lt;br /&gt;
    def sayHello(self):&lt;br /&gt;
        yourName, okay=QInputDialog.getText(self, self.trUtf8(&amp;quot;请问你的名字是?&amp;quot;), self.trUtf8(b&amp;quot;名字&amp;quot;))&lt;br /&gt;
        if not okay or yourName==u&amp;quot;&amp;quot;: #用户没有输入名字，而是点了取消&lt;br /&gt;
            self.outputArea.append(self.trUtf8(&amp;quot;你好，陌生人！&amp;quot;))&lt;br /&gt;
        else:&lt;br /&gt;
            self.outputArea.append(self.trUtf8(&amp;quot;你好，&amp;lt;b&amp;gt;%1&amp;lt;/b&amp;gt;。&amp;quot;).arg(yourName))&lt;br /&gt;
&lt;br /&gt;
app=QApplication(sys.argv)&lt;br /&gt;
testWidget=TestWidget()&lt;br /&gt;
testWidget.show()&lt;br /&gt;
sys.exit(app.exec_())&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PyQt的优劣 ==&lt;br /&gt;
&lt;br /&gt;
=== 优势 ===&lt;br /&gt;
* PyQt的API与Qt类似，Qt的文档通常仍然可以应用于PyQt。因此，PyQt的文档比[[PyGTK]]、[[wxPython]]、[[Tkinter]]等GUI编程库的文档丰富得多。&lt;br /&gt;
* 如果程序员具备使用Qt的经验，一般很快就可以过渡到PyQt上。而使用PyQt的程序员，如果同时精通C++的话，也可以很快地过渡到Qt平台上。&lt;br /&gt;
* 利用SIP，大多数为Qt开发的控件可以方便地port到PyQt。——然而，SIP也需要一些学习成本。&lt;br /&gt;
* 有方便的周边工具支持PyQt。如QtDesigner，可以使用拖拉式的方法来设计界面，简单易用。Eric6，一个使用PyQt设计的Python IDE，对PyQt有特殊的支持。&lt;br /&gt;
&lt;br /&gt;
=== 劣势 ===&lt;br /&gt;
* 由于PyQt同时使用Qt以及Python的两种内存管理方法，所以在使用PyQt的过程中要注意避免内存泄露以及悬挂指针&amp;lt;ref&amp;gt;{{cite web  |url=http://pyqt.sourceforge.net/Docs/PyQt5/gotchas.html#garbage-collection  |title=Garbage Collection  |accessdate=2013-06-24  |archive-date=2013-07-18  |archive-url=https://web.archive.org/web/20130718053226/http://pyqt.sourceforge.net/Docs/PyQt5/gotchas.html#garbage-collection  |dead-url=no  }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* 运行时庞大，在Windows平台，只使用PyQt.QtCore与PyQt.QtGui两个子模块时，压缩后至少需要4.09M&lt;br /&gt;
* 需要学习一些C++知识，主要是C++类型、内存管理两个方面，以便于阅读Qt文档和理解PyQt的行为。&lt;br /&gt;
&lt;br /&gt;
== SIP ==&lt;br /&gt;
&lt;br /&gt;
SIP是一个自动为C和C++库生成Python扩展模块的工具。为了方便开发PyQt，SIP于1998被“Riverbank Computing”公司创造出来。不过，SIP不专用于PyQt，而是适用于所有的C和C++库。&lt;br /&gt;
&lt;br /&gt;
使用SIP时，程序员首先要编写一个特殊的&amp;quot;.sip&amp;quot;文件，使用类似于C++的语法在其中描述扩展模块所提供的类型与函数。然后用SIP将这个文件转化为C++代码。最终编译，与C、C++库链接后就成为Python扩展模块。&amp;quot;.sip&amp;quot;文件类似于C、C++的头文件。根据需要，需要程序员用SIP定义的语法添加一些C++代码中没有的信息。因为SIP不支持完整的C++语法，所以不能直接使用C++的头文件作为&amp;quot;.sip&amp;quot;文件。&lt;br /&gt;
&lt;br /&gt;
== 使用PyQt的著名應用程式==&lt;br /&gt;
&lt;br /&gt;
* [[Eric Python IDE]]&lt;br /&gt;
* [[Anki]], a spaced repetition flashcard program&lt;br /&gt;
* [[QtiPlot]], a computer program to analyze and visualize scientific data&lt;br /&gt;
* [[RecordMyDesktop|qt-recordMyDesktop]]：recordMyDesktop的Qt4介面&lt;br /&gt;
* [[Kodos Python Regular Expression Debugger|Kodos]], Python Regular Expression Debugger&lt;br /&gt;
&lt;br /&gt;
==參考文獻 ==&lt;br /&gt;
&lt;br /&gt;
{{refs}}&lt;br /&gt;
&lt;br /&gt;
==延伸阅读==&lt;br /&gt;
&lt;br /&gt;
*{{citation&lt;br /&gt;
| first1 = Mark&lt;br /&gt;
| last1 = Summerfield&lt;br /&gt;
| title = Rapid GUI Programming with Python and Qt（Covers PyQt4）&lt;br /&gt;
| edition = 1st&lt;br /&gt;
| date = October 28, 2007&lt;br /&gt;
| publisher = [[Prentice Hall]]&lt;br /&gt;
| pages = 648&lt;br /&gt;
| isbn = 978-0132354189&lt;br /&gt;
| url = http://www.qtrac.eu/pyqtbook.html&lt;br /&gt;
| accessdate = 2009-04-03&lt;br /&gt;
| archive-date = 2009-03-31&lt;br /&gt;
| archive-url = https://web.archive.org/web/20090331095015/http://www.qtrac.eu/pyqtbook.html&lt;br /&gt;
| dead-url = no&lt;br /&gt;
}}&lt;br /&gt;
*{{citation&lt;br /&gt;
 |first1      = Boudewijn&lt;br /&gt;
 |last1       = Rempt&lt;br /&gt;
 |title       = GUI Programming with Python: QT Edition（Covers PyQt3）&lt;br /&gt;
 |edition     = &lt;br /&gt;
 |date        = 2002&lt;br /&gt;
 |publisher   = OpenDocs&lt;br /&gt;
 |pages       = &lt;br /&gt;
 |isbn        = &lt;br /&gt;
 |url         = http://www.commandprompt.com/community/pyqt/&lt;br /&gt;
 |deadurl     = yes&lt;br /&gt;
 |archiveurl  = https://web.archive.org/web/20100409074937/http://www.commandprompt.com/community/pyqt/&lt;br /&gt;
 |archivedate = 2010-04-09&lt;br /&gt;
 |accessdate  = 2010-06-11&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
* [http://www.riverbankcomputing.co.uk/software/pyqt/ 官方網站]{{Wayback|url=http://www.riverbankcomputing.co.uk/software/pyqt/ |date=20081120005405 }}&lt;br /&gt;
* [https://pythonspot.com/building-an-application-gui-with-pyqt-beginners-tutorial/ PyQT tutorial]{{Wayback|url=https://pythonspot.com/building-an-application-gui-with-pyqt-beginners-tutorial/ |date=20150915184123 }}&lt;br /&gt;
* [http://www.cs.usfca.edu/~afedosov/qttut PyQt教學]{{Wayback|url=http://www.cs.usfca.edu/~afedosov/qttut |date=20090412100606 }}&lt;br /&gt;
{{Qt}}&lt;br /&gt;
{{Widget toolkits}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Python库]]&lt;br /&gt;
[[Category:Qt]]&lt;/div&gt;</summary>
		<author><name>imported&gt;CYCcc</name></author>
	</entry>
</feed>