Qt 和 PyQt
2008-09-30 13:08:04 来源:WEB开发网本文的作者之一 Boudewijn Rempt 已经出版了一本有关使用 PyQt 进行应用程序开发的书籍。 GUI Programming with Python: QT Edition(请参阅 参考资料)显示了如何设计和开发完整的 GUI 应用程序,其中包括从最初的构思到分发的全过程。
样本应用程序
要显示信号/插槽和回调之间的反差,我们提供了一个写着玩玩的应用程序,它使用 Tkinter 和 PyQt。尽管实际上 PyQt 版本对于这个基本程序并不更简单,但是它已经演示了 PyQt 应用程序更好的模块性和可维护性。
应用程序包括四个窗口构件:
“Quit”按钮(用来与整个应用程序通信)
“Log Timestamp”按钮(用于窗口构件间的消息)
文本区域,显示可滚动的已记录日志的时间戳记列表
消息窗口构件,显示已记录日志的时间戳记数
在 Tkinter 中,我们可以这样实现应用程序:
清单 1. Logger.py Tkinter 应用程序 #!/usr/bin/python
import sys, time
from Tkinter import *
class Logger(Frame):
def __init__(self):
Frame.__init__(self)
self.pack(expand=YES, fill=BOTH)
self.master.title("Timestamp logging application")
self.tslist = []
self.tsdisp = Text(height=6, width=25)
self.count = StringVar()
self.cntdisp = Message(font=('Sans',24),
textvariable=self.count)
self.log = Button(text="Log Timestamp",
command=self.log_timestamp)
self.quit = Button(text="Quit", command=sys.exit)
self.tsdisp.pack(side=LEFT)
self.cntdisp.pack()
self.log.pack(side=TOP, expand=YES, fill=BOTH)
self.quit.pack(side=BOTTOM, fill=BOTH)
def log_timestamp(self):
stamp = time.ctime()
self.tsdisp.insert(END, stamp+"n")
self.tsdisp.see(END)
self.tslist.append(stamp)
self.count.set("% 3d" % len(self.tslist))
if __name__=='__main__':
Logger().mainloop()
- ››QT中获取选中的radioButton的两种方法
- ››Qt HMAC hash 算法
- ››Qt中调用windows系统api在QComboBox中显示系统当前...
- ››Qt之实现360安全卫士主界面(三)
- ››Qt for Symbian S60开发环境全接触
- ››Qt for Symbian应用的开发
- ››Qt for Symbian怎样强制使用横屏或竖屏
- ››Qt与symbian特定格式类对象的转换
- ››Qt for symbian工程文件的一些特异写法
- ››QT for Symbian 环境搭建教材下载
- ››Qt for Symbian 入门之环境搭建
- ››Qt for S60 开发环境全接触
更多精彩
赞助商链接