PySide教程:Close

作者: meegoq.com  來源: MeeGo中文論壇-米趣網  發布時間: 2011-02-10 16:57  閱讀: 1508 次  推薦: 0   原文鏈接   [收藏]  

  這個例子不會花費你5分鐘。這個小程序的意義在于使用pushButton把程序關閉。通常,我們首先使用Qt Designer,創建了一個主窗體中只含有一個按鈕的quitter.ui。你可以從下面附件中下載  quitter.ui。為了方便,我們同時也提供了quitter.py的源代碼。

  下載完以后,我們把ui文件轉換為可讀的Python代碼。

 
pyside-uic quitter.ui -o ui_quitter.py

      ui_quitter.py中包含可讀的Python代碼。文件名只需要記住 quitter. 剩下的部分則是幫助認出這個文件的來源。

  下面將列出代碼

 

 
#!/usr/bin/env python
# quitter.py - provide a button to quit this "program"

import sys

from PySide.QtGui import QMainWindow, QPushButton, QApplication

from ui_quitter import Ui_MainWindow

class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MainWindow, self).
__init__(parent)
self.setupUi(self)


if __name__ == '__main__':
app
= QApplication(sys.argv)
frame
= MainWindow()
frame.show()
app.exec_()

 

  如果你運行這個代碼,你能發現既可以像以前那樣點擊 [X] 按鈕,也可以點擊pushButton.下面的圖片顯示了效果。

PySide Close

  讓我們看看程序代碼,其中中找不到讓按鈕關閉程序的部分。找不到的原因是這樣的功能是在Qt Desinger中實現的,Qt Desinger中能夠編輯 信號-槽。我們悄悄地將 PushButton.click()信號 與  MainWindow.close()槽連接起來了。它隱藏在 quitter.ui文件和ui_quitter.py中。在這兩個文件里,我們引用了 Ui_MainWindow類,它是我們MainWindow類的父類。Python的多重繼承功能方便我們使用 ui_quitter.py模塊的方法。

  你可能已經注意到 init()函數 指定所有者為None.這能告訴PySide MainWindow才是程序的主窗體。

quitter.rar 

0
0
 
標簽:PySide
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()