WEB开发网
开发学院软件开发Python Qt 和 PyQt 阅读

Qt 和 PyQt

 2008-09-30 13:08:04 来源:WEB开发网   
核心提示: 本文的作者之一 Boudewijn Rempt 已经出版了一本有关使用 PyQt 进行应用程序开发的书籍, GUI Programming with Python: QT Edition(请参阅 参考资料)显示了如何设计和开发完整的 GUI 应用程序,Qt 和 PyQt(2),其中包括从最

本文的作者之一 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()

上一页  1 2 3 4 5 6  下一页

Tags:Qt PyQt

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接