精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

QT中建立Python GUI應用程序

移動開發
Python具有腳本語言中最豐富和強大的類庫,足以支持絕大多數日常應用。python常被昵稱為膠水語言,它能很輕松的把用其他語言制作的各種模塊(尤其是C/C++)輕松聯結在一起。

本文介紹的是在QT中建立Python GUI應用程序,圖文并茂,相信你很喜歡這篇有趣的文章,提醒一下:這是在linux環境下運行的。

注:本教程使用的是QT 3。QT的最新版本為4.5。

Python 是一種有著許多令人驚嘆的特性的偉大語言,但其默認的GUI包(TkInter)相當難看。另外,誰愿意手工輸入所有GUI代碼呢?做為替代,一個更好的建立Python GUI程序的方法,就是使用Trolltech的Qt Designer,用所見即所得的方式創建漂亮的界面,然后用pyuic自動生成所需的代碼(這是一個PyQT包所帶的QT界面編譯器。)Qt Designer也使得在項目中添加Python代碼變得非常容易。(如果想您的應用程序做有用的事的,你無疑將需要編寫一些代碼。:))

因此,下面是一個如何使用PythonQT建立你的第一個程序的簡短教程。

我們將創建一個小小的應用程序,接受用戶輸入,然后將輸入內容添加到一個列表中,此外允許用戶清除列表中的內容。

首先,需要安裝以下軟件包:

  1. Python的2.X   
  2. PyQt的3.X   
  3. Qt Designer 3.X  

我采用Fedora Core 1的默認安裝,沒有任何問題。我還測試了RedHat 9,也沒有任何問題。情況因人而異。(注:RedHat 8.0版也應該可以工作,但它的Qt designer是舊版本,沒有RH9和FC1的好用。)
如果一切就緒,就讓我們開始吧。啟動QT designer。在RedHat 9和Fedora Core 1,它位于在Programming->More Programming菜單。

使用QT建立Python GUI應用程序 

QT Designer將會出現。就像這樣:

使用QT建立Python GUI應用程序

在New->Open對話框,單擊Dialog,并點擊OK。

使用QT建立Python GUI應用程序 

#p#

QT Designer會創建一個新的dialog canvas,并命名為Form1 。

使用QT建立Python GUI應用程序

在左側工具欄選擇LineEdit工具并在canvas上創建一個編輯框。命名為lineEdit1。這將是獲取用戶輸入的地方。

使用QT建立Python GUI應用程序

現在,在左側工具欄選擇ListBox工具,并在canvas上建立一個列表框。命名為listBox1 。這將是我們存儲用戶輸入的地方

使用QT建立Python GUI應用程序

請注意,列表框中已經有一個項目。我們并不需要它,讓我們來清掉它。雙擊列表框。彈出一個顯示列表框中內容的對話框。點擊Delete Item刪除這個項目。然后單擊OK。

使用QT建立Python GUI應用程序

現在,在左邊工具欄選擇PushButton工具并在canvas創建一個按鈕。命名為pushButton1

使用QT建立Python GUI應用程序 

#p#

雙擊該按鈕,出現一個允許你修改按鈕上顯示文字的對話框。重新命名為X,然后單擊OK。

使用QT建立Python GUI應用程序

現在,我們來讓按鈕做一些事情。在Qt中的術語,按鈕將發送一個signal,被slot接收。(slot就像一個對象的方法,作為事件的回應被調用,例如用戶單擊按鈕。)請記住,當用戶點擊這個按鈕的時候,我們要清除列表框。已經有內置的方法做到這一點,因此我們直接使用它。使用連接工具將一個signal連接到一個slot,該工具位于頂部工具欄的右側,一個綠色方塊上的紅色箭頭。就像這樣:使用QT建立Python GUI應用程序

下面是比較難的部分。選擇了這個工具以后,點選X按鈕并拖到列表框上。一旦拖到列表框上(列表框會加亮),你會看到一條從按鈕到列表框的線,然后放開鼠標。另一個對話框會彈出,您可以在此明確的指定哪一對signal和slot連接。選擇pushButton1作為發送者, signal為clicked(),listBox1為接收者,clear()作為slot。然后單擊OK。(這意味著當用戶點擊按鈕時將刪除列表框中的所有內容。)

使用QT建立Python GUI應用程序

在上一步中,我們使用一個內置slot來完成工作。現在,我們來創建自己的slot:當用戶輸入內容按下回車鍵后,它會將編輯框的內容添加到列表框中。要創建一個新的slot(記住,它就是一個方法),從Edit菜單中選擇Slots 。

使用QT建立Python GUI應用程序

將顯示一個自定義slots的對話框。開始時是空的。單擊New Function添加新的slot。將該功能命名為AddEntry()(不要忘了新名稱中的括號),因為它在列表框中增加新的項目。不要更改任何其他設置,只需點擊OK。(我們將在后面編寫此方法的代碼。)

使用QT建立Python GUI應用程序

現在,我們有一個slot,我們可以將其他東西連接到它。回想一下,當用戶輸入一些內容按下回車鍵后,我們將增加一個項目到列表中。選擇我們的好朋友--連接工具,連接編輯框到列表框。連接對話框將會再次彈出。這一次選擇lineEdit1作為發送者,returnPressed()作為signal,Form1作為接收者,我們自己的AddEntry()作為slot。

使用QT建立Python GUI應用程序 

 

最后,我們準備編寫一些代碼,來實現我們的AddEntry()方法。在Project Overview的右上角,雙擊窗口的form1.ui.h文件。(第二個,在你的主文件之后。)彈出一個顯示這個文件文本的窗口。此文件就是你實現所有的自定義slots的地方,將會在編譯過程中被包含進去。請注意,Qt designer已經將我們的AddEntry()函數放在了頭文件中...不過是C++格式!不需要為此擔心,我們仍然可以在大括號中使用Python代碼,并且工作得很好。(Python的UI編譯器足夠聰明,完全可以理解Qt Designer生成的頭文件。)唯一的問題是,Qt designer自動縮進代碼,并且預期一行的末尾有分號,這自然會讓Python混淆,并且縮進會把一切都搞得一團糟。或者,你可以用你喜歡的編輯器 (例如:vi)編輯此文件。(或者找出如何關閉自動縮進。)

使用QT建立Python GUI應用程序

那么,我們要寫些什么代碼呢?我們必須完成三件事:

從編輯框獲取文字

將文字插入到列表框

清除編輯框

你定義的所有slots都是對話框的方法,它的所有部件都是對象,你可以看一下他們的名字。因此self.lineEdit1是編輯框,self.listBox1是列表框。編輯框有一個方法叫做text(),它返回一個包含編輯框中內容的QString對象。不需要知道這些對象太多的細節,只需要知道QString對象有一個ascii()方法,它將返回所輸入文本的原始ASCII。因此,要獲得編輯框中的文本:

  1. e = self.lineEdit1.text().ascii()  

接下來我們需要做的就是將文本增加到列表框中。列表框有一個方法insertItem(),它接受一個字符串,并將其添加到列表:

  1. self.listBox1.insertItem(e)  

最后,我們用clear()方法清除編輯框:

  1. self.lineEdit1.clear()  

 

使用QT建立Python GUI應用程序

#p#

快完成了!我們需要做的最后一件事就是關閉刪除按鈕的autoDefault設置。(設置按鈕為默認,意味當用戶在對話框中按回車時,相當于單擊該按鈕。回車鍵增加文本到列表框,然后自動觸發刪除按鈕,清除列表框,對我們沒有任何意思。)autoDefault屬性默認為True,因此我們需要在該按鈕的Property Editor窗口將它設置為False。點擊該按鈕,察看右下角的Property窗口。

使用QT建立Python GUI應用程序

終于,我們完成了Qt designer,保存您的所有工作。
現在打開一個shell,我們要將GUI代碼編譯成Python代碼。通過pyuic編譯器來做這件事。傳遞.ui文件作為參數,它輸出Python代碼到標準輸出。(所以它更有助于將輸出重定向到另一個文件。)

  1. pyuic form1.ui > form1.py  

最終得到form1.py,這是一個包含你的對話框的Python類模塊。因為它沒有main()函數,您不能直接運行。因此,我們需要為它創建一個簡單的包裝,像這樣:

  1. from qt import *  
  2. from form1 import *  
  3. import sys  
  4. if __name__ == "__main__":  
  5.     app = QApplication(sys.argv)  
  6.     f = Form1()  
  7.     f.show()  
  8.     app.setMainWidget(f)  
  9.     app.exec_loop() 

不用考慮太多細節,我們導入Qt庫的Python模塊,同樣也導入我們的對話框類。然后,為我們的Qt應用程序建立一個環境,實例化對話框,把它顯示在屏幕上,設置它為應用程序主部件,讓QT進入事件循環,處理所有的signals,并調用我們的slots。把它們保存在一個單獨的Python文件中,例如mygui.py。不用說,這種包裝是相當通用的,可在你的大多數Python/Qt應用程序中重用。最后,我們準備好運行了!運行你的應用程序:

  1. python mygui.py  

它看起來應該是這個樣子:

使用QT建立Python GUI應用程序

如果你在編輯框輸入一些東西,然后按回車鍵,輸入的內容應該會被添加到列表框中。如果點擊X按鈕,列表框應被清除。如果程序表現的不同,回去重讀上面的步驟,你可能錯過了一些東西。 :)
僅此而已。現在去創建些更有趣的東西!只是你可能想知道所有這些部件和他們所有的方法。如何知道誰做什么?最簡單的方法是通過QT Classes Reference去找,(或Main QT Reference page),它描述了所有的QT類(包括所有的部件)及其方法和屬性。例子用的是C++,但他們能夠很好地轉化成的Python。所有的名稱是相同的-只是將C++語法替換成Python,一路走好!

該項目使用的文件

form1.ui  

form1.ui.h  

mygui.py  

作為練習,添加一些Python代碼,退出程序時把列表框的內容保存到文件中,然后在啟動時從文件中讀入數據。

小結:QT中建立Python GUI應用程序的內容介紹到這,本文章大多是操作,并且圖文并茂,希望真的可以幫助你解決問題。謝謝留言。

【編輯推薦】

初識Python與Qt

Qt 4.5 開發環境及安裝

利用Qt Designer開發Qt界面

Qt 平臺中使GUI保持響應流暢

如何讓插件加載到Qt Designer

快速開發交叉編譯之Qt Designer

責任編輯:zhaolei 來源: 互聯網
相關推薦

2021-02-05 11:55:37

PythonWindows平臺代碼

2011-06-09 09:12:12

QT symbian

2009-06-10 14:59:04

Netbeans 6.應用程序

2023-12-10 14:43:30

PythonGUIeel

2011-05-03 09:14:45

QtOvi商店Symbian

2009-12-23 17:30:54

ADO.NET應用程序

2021-05-26 13:34:21

Windows 10Linux GUI應用程序

2023-10-07 09:37:53

2011-04-29 10:17:07

應用商店

2023-05-19 08:49:58

SQLAlchemy數據庫

2022-09-29 10:11:13

命令Arch LinuxGUI

2011-06-09 09:31:40

Qt 實例

2011-10-13 16:34:30

MeeGoQt插件

2021-09-26 08:30:31

Python應用程序代碼

2009-04-01 14:33:33

2011-07-05 16:59:15

Qt 動態 鏈接庫

2011-06-21 11:10:28

Qt Embedded

2011-07-05 17:07:46

Qt 插件 模塊

2010-02-26 11:08:29

Python應用程序

2010-02-02 15:37:11

點贊
收藏

51CTO技術棧公眾號

成人av资源在线播放| 夜夜嗨av一区二区三区免费区| 水蜜桃在线免费观看| 亚洲精品无遮挡| 亚洲欧美网站| 色偷偷偷亚洲综合网另类 | 欧美videossex另类| 成人av在线观| 国产精品免费视频久久久| 国产又粗又爽又黄的视频| 亚洲精品成人在线播放| 午夜羞羞小视频在线观看| 91亚洲男人天堂| 成人精品视频在线| 少妇一级淫片免费放中国 | 日韩一区二区在线视频| 人妻巨大乳一二三区| 性感美女一区二区在线观看| 亚洲精品一二三| 欧美午夜精品理论片a级大开眼界| 国产精品天天操| 日韩av不卡在线观看| 久久久久久久久久久成人| 国产3级在线观看| 妖精一区二区三区精品视频 | 亚洲第一色av| 婷婷激情一区| 精品日本高清在线播放| 老司机午夜网站| 成年人视频在线看| 久久综合色8888| 国产精品区一区二区三含羞草| 中文字幕人成人乱码亚洲电影| 日韩视频不卡| 欧美精品第一页在线播放| 国产精品麻豆一区| 欧美日韩中文一区二区| 日韩精品在线播放| 99re久久精品国产| 国产精品极品在线观看| 欧美成人女星排行榜| 污视频网址在线观看| 日本高清不卡一区二区三区视频| 欧美日韩国产中文字幕| 六月婷婷在线视频| 欧美韩日亚洲| 亚洲一区国产视频| 成人在线视频一区二区三区 | 久久九九国产精品怡红院| 人人妻人人藻人人爽欧美一区| 看全色黄大色大片免费久久久| 日韩视频不卡中文| 午夜不卡福利视频| 成人免费91| 欧美一卡二卡三卡四卡| 亚洲第一成肉网| 欧美在线se| 欧美群妇大交群的观看方式 | 国产91精品一区二区麻豆亚洲| 亚洲一区二区三区久久| 国产欧美熟妇另类久久久| 日韩**一区毛片| 国产精品自拍偷拍视频| 一区二区不卡视频在线观看| 久草热8精品视频在线观看| 国产美女精彩久久| 国产欧美日韩成人| 成人高清av在线| 久久久久久久免费| 麻豆av电影在线观看| 国产亚洲成年网址在线观看| 神马影院午夜我不卡| 在线观看av黄网站永久| 亚洲欧洲精品天堂一级 | 西西裸体人体做爰大胆久久久| 538国产精品一区二区免费视频| 亚洲精品国产精品乱码| 久久久久综合| 成人精品视频久久久久| 亚洲美女福利视频| 91麻豆视频网站| 日韩欧美一区二区三区四区五区| 日本精品在线| 亚洲高清免费观看| 国产精品第12页| 欧美成人福利| 精品国产3级a| 性猛交ⅹxxx富婆video| 久久久久久免费视频| 97免费中文视频在线观看| 亚洲欧美日韩激情| 极品少妇xxxx偷拍精品少妇| 国产精品视频入口| 国产日本在线| 亚洲激情欧美激情| 成人免费观看毛片| 国产精品18| 亚洲精品天天看| 午夜精品一区二区三级视频| 尹人成人综合网| 国产精品久久久久久久久久久久久| 96日本xxxxxⅹxxx17| www.66久久| 亚洲天堂电影网| ririsao久久精品一区| 在线视频你懂得一区| 九色91porny| 精品国产一区二区三区久久久樱花 | 免费黄色电影在线观看| 婷婷夜色潮精品综合在线| 欧美自拍小视频| 极品一区美女高清| 精品国模在线视频| 天干夜夜爽爽日日日日| 成人综合婷婷国产精品久久| 亚洲成人精品电影在线观看| 成人在线黄色电影| 91精品国产一区二区三区蜜臀| 免费看污黄网站在线观看| 欧美日韩午夜| 91精品视频在线播放| 国产三级在线免费观看| 欧美日韩一区二区三区在线免费观看| 久久久久久久久久久久久久久国产| 欧美在线关看| 欧美激情国产日韩精品一区18| 中文字幕在线观看第二页| 91老师片黄在线观看| 日韩欧美猛交xxxxx无码| 亚洲网站免费| 最近2019年手机中文字幕| 国产欧美一区二区三区在线看蜜臂| 国产精品一二一区| 最新不卡av| av毛片在线免费观看| 高清国产午夜精品久久久久久| 亚洲一区二区三区乱码| 亚洲成人短视频| 精品亚洲aⅴ在线观看| 久草精品视频在线观看| 国产成人自拍网| 一本二本三本亚洲码| 色综合一区二区日本韩国亚洲| 怡红院精品视频| 国产成人精品777777| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国产日韩在线观看一区| 国产精品伦理在线| 日本 片 成人 在线| 日本不卡高清| 国产欧美中文字幕| 日本欧美在线视频免费观看| 欧美日韩国产小视频| 黄色激情小视频| 蜜臀va亚洲va欧美va天堂| 亚洲成色www久久网站| 日韩三区免费| 日韩有码片在线观看| 国产免费视频一区二区三区| 亚洲精品老司机| 亚洲乱妇老熟女爽到高潮的片| 欧美色123| 精品久久久久久中文字幕动漫| 黄色视屏在线免费观看| 国产午夜精品麻豆| 无码人妻精品一区二区蜜桃色欲 | 精品国产乱码久久久久久老虎| 欧美交换国产一区内射| 成人综合在线视频| 国产xxxxx在线观看| 精品一区av| 91在线视频成人| 激情av在线| 日韩黄色av网站| 日韩国产成人在线| 亚洲视频免费看| 天天躁日日躁狠狠躁av麻豆男男 | 91偷拍一区二区三区精品| 国产日韩av在线播放| 男人添女人下部高潮视频在线观看| 精品国产露脸精彩对白| 国产一级18片视频| 中文字幕一区二区三区不卡| 男人添女人荫蒂国产| 亚洲一区激情| 综合国产精品久久久| 久久91在线| 国产精品男女猛烈高潮激情| 色呦呦在线资源| 国产视频欧美视频| 97在线公开视频| 精品福利在线视频| 国产精品suv一区二区88| 国产ts人妖一区二区| 免费日韩视频在线观看| 一级毛片免费高清中文字幕久久网| 久久av一区二区| 亚洲天堂网站| 日韩av毛片网| 日本无删减在线| 伊人久久大香线蕉av一区二区| 精品国产九九九| 91福利在线播放| 日韩欧美亚洲国产| 中文字幕一区二区三区av| 久久久久国产精品无码免费看| 久久电影网站中文字幕| 国产精品无码人妻一区二区在线| 欧美hd在线| 免费一区二区三区| 97视频一区| 成人午夜在线观看| 精品国产第一福利网站| 久久久久久久久久久91| 国产婷婷视频在线| 国产亚洲美女久久| 内射后入在线观看一区| 91精品国产一区二区| 中文字幕xxxx| 精品欧美一区二区三区| 久久久精品国产sm调教网站| 中文字幕一区二区三区四区不卡 | 粗大的内捧猛烈进出视频| 老牛嫩草一区二区三区日本| 国产精品国三级国产av| 91免费精品| 亚洲精品一区二| 国产欧美日韩精品一区二区免费 | 综合激情网站| 在线播放 亚洲| 日韩.com| 色噜噜色狠狠狠狠狠综合色一| 香蕉久久精品日日躁夜夜躁| 成人免费91在线看| 欧美日韩午夜电影网| 91久久久久久久久久| 国产成人精品一区二区三区视频 | 国产日韩欧美精品一区| 日本丰满少妇裸体自慰| 成人av网站在线观看| 成人做爰69片免费| 国产成人自拍在线| 国产精品欧美性爱| 成人网男人的天堂| 男女性杂交内射妇女bbwxz| 国产成人av电影免费在线观看| 91亚洲一区二区| 国产一区二区美女诱惑| 妖精视频在线观看| 国产成人免费视频网站| 稀缺呦国内精品呦| 成人av在线一区二区| 玖草视频在线观看| 久久伊人中文字幕| 波多野吉衣中文字幕| 国产欧美一区二区三区鸳鸯浴 | 五月综合激情网| 日韩欧美三级在线观看| 精品色蜜蜜精品视频在线观看| 日韩美女视频网站| 日韩欧美成人精品| 成年人晚上看的视频| 欧美日韩mp4| 97久久人国产精品婷婷| 日韩三级在线观看| 欧美 日韩 国产 成人 在线 91 | 网站免费在线观看| 久久综合久久99| 午夜国产福利视频| 亚洲精品视频在线| xxxx 国产| 色哟哟一区二区三区| 日韩不卡高清视频| 在线播放中文字幕一区| 亚洲国产精品欧美久久| 亚洲精品国产精品乱码不99按摩 | 日日干日日操日日射| 国产精品一区二区黑丝| 在线视频 日韩| 国产精品天天摸av网| 免费中文字幕在线观看| 婷婷开心激情综合| 一级做a爱片久久毛片| 精品国产免费人成电影在线观看四季 | 国产又大又黄视频| 欧美三级日韩三级| 亚洲乱色熟女一区二区三区| 日韩精品免费看| 日本福利在线| 97热在线精品视频在线观看| 青青热久免费精品视频在线18| 91精品天堂| 久久不见久久见国语| 日本xxx免费| 男人的天堂成人在线| 婷婷中文字幕在线观看| 91小视频在线免费看| 国产女片a归国片aa| 色悠悠亚洲一区二区| 亚洲国产成人一区二区 | 精品国产一区二区三区麻豆免费观看完整版 | 韩国av一区二区三区在线观看| 免费看毛片的网站| 国产精品热久久久久夜色精品三区| 国产精品成人av久久| 欧美日韩www| 国产视频三级在线观看播放| 久久777国产线看观看精品| 日本一区免费网站| 国产日韩二区| 中文字幕一区二区三区久久网站| 日韩一级片播放| 成人av资源在线观看| 99自拍视频在线| 91久久精品网| 天堂v在线观看| 欧美日韩成人黄色| 午夜不卡一区| 日本欧美精品久久久| 在线精品一区| 乱码一区二区三区| 1区2区3区国产精品| 黄色一区二区视频| 亚洲精选中文字幕| 国产理论在线| 97碰碰视频| 中文字幕一区二区av| 三级性生活视频| 国产精品久久影院| 丰满熟女人妻一区二区三| 亚洲美女av在线| 麻豆蜜桃在线观看| 成人3d动漫一区二区三区91| 91精品一区二区三区综合| 天堂网在线免费观看| 久久久国产精华| 亚洲GV成人无码久久精品| 亚洲国产精品热久久| av资源一区| 国产一区二区久久久| 激情久久五月| 影音先锋资源av| 午夜av一区二区三区| 日本免费一区视频| 国产+人+亚洲| 女同一区二区三区| 91专区在线观看| 97精品国产97久久久久久久久久久久| 久久精品视频8| 亚洲电影免费观看| 极品av在线| 日本一区二区三区www| 日韩激情一区二区| 久久久精品成人| 欧美日韩三级一区| 色网站在线看| 91久久国产综合久久蜜月精品 | 欧美激情中文网| 成人动漫视频| 国产午夜福利100集发布| 91丝袜美腿高跟国产极品老师| 天天干天天干天天干天天| 亚洲欧美变态国产另类| 视频一区在线免费看| 色乱码一区二区三区熟女| 国产一区二区三区日韩| 麻豆国产尤物av尤物在线观看 | 成人黄色在线播放| 午夜精品偷拍| 大桥未久恸哭の女教师| 欧美日韩亚洲一区二| 日本激情在线观看| 成人在线观看91| 久久精品五月| 午夜激情福利电影| 亚洲第一精品福利| 韩国久久久久久| 色香蕉在线观看| 99九九99九九九视频精品| 黄色污污视频软件| 欧美成人精品xxx| 日韩高清成人在线| 日韩av在线中文| 亚洲综合区在线| 黄色国产在线| 亚洲永久免费观看| 国产欧美精品| 一区二区三区在线播放视频| 日韩女优av电影| 欧美××××黑人××性爽| 看一级黄色录像| 久久亚洲影视婷婷| 国产视频一区二区三| 日本成人黄色片| 欧美成人69| 日本一卡二卡在线播放| 精品国产伦理网| 91国产一区| 88av.com| 天天av天天翘天天综合网|