用 eric6 與 PyQt5 實現python的極速GUI編程(系列01)--Hello world!

來源:互聯網
上載者:User

標籤:hello   ttext   實現   編程   項目   style   com   添加   刪除   

轉自:http://www.cnblogs.com/hhh5460/p/4232086.html

 

 

【題記】

我是一個菜鳥,這個系列是我的學習筆記。

PyQt5 出來有一段時間了, PyQt5 較之 PyQt4 有一些變化,而網上流傳的幾乎都是 PyQt4 的教程,照搬的話大多會出錯。

eric6 也是剛剛出來,eric6 與 PyQt5 結合的教程網上幾乎沒有。

本人也是一邊學習,一邊摸索,並記錄與此,希望幫到有需要的朋友,更希望路過的大俠多多指教為好。

 

【引子】

用 eric6 與 PyQt5 結合,非常方便的實現介面與邏輯分離,滿足python的極速GUI編程,你只需要關注程式的邏輯實現,不需要在介面上花很多時間。

可以說這是一對完美的組合!

下面的內容基於:windows 7 + python 3.4.2 + PyQt5 + eric 6

 

【概覽】

本文實現如下的程式:

 

主要步驟如下:

1、在eric6中建立項目

2、進入PyQt5 Desinger編輯圖形介面(自動進入),並儲存

3、回到eric 6將剛才的介面檔案編譯

4、然後給介面添加自己的程式邏輯

5、py2exe打包成exe檔案(此步略)

 

【本文】

1、在eric6中建立項目

 

2、進入PyQt5 Desinger編輯圖形介面(自動進入),並儲存

在表單中添加一個文字標籤(label)、兩按鈕(pushButton)

設定文字標籤、兩按鈕的對象名(objectName)為:label_hello,pushButton_ok,pushButton_close

設定文字標籤、兩按鈕的文字(text)為:"在此顯示","確定","退出"

退出按鈕添加訊號/槽        (註:訊號/槽機制是PyQt專屬的訊號傳遞機制,使用非常方便)

儲存,然後關閉PyQt Designer

3、回到eric 6,將剛才的介面檔案編譯

回到eric 6後,發現表單下多了個hello.ui檔案,此檔案本質是一個xml格式檔案,不能被運行,需要右擊它

編譯成功之後,發現源檔案下多出了Ui_hello.py檔案,這個檔案就可以運行了

試著運行它,

Wow! 介面出來了。一切正常。不過你會發現,只有退出按鈕起作用,而確定按鈕沒反應。那是因為我們還沒給確定按鈕添加邏輯代碼

這事好辦,到表單下右擊hello.ui檔案,選擇 產生對話方塊代碼

此處勾選pushButton下的on_pushButton_ok_clicked()

回到原始碼下,發現又多出了一個hello.py檔案

不管三七二十一,先運行它再說。呀!錯誤!!!

這個錯誤應該是eric 6的一個bug!!!,去掉Ui前面的點號,再運行,就沒有報錯了。真是太好了!誒,等一下,怎麼沒看到表單出來呢?

少了幾行代碼,此處可以認為也是eric 6的一個bug。那就自己動手吧,在hello.py的最下面添加這幾行:

1 if __name__ == ‘__main__‘:2     import sys3     from PyQt5.QtWidgets import QApplication4     app = QApplication(sys.argv)5     dlg = Hello()6     dlg.show()7     sys.exit(app.exec_())

長噓一口氣,表單終於又出來了,但是點擊確定按鈕的時候報錯了又。原因很簡單,我們還沒有覆寫給確定按鈕的邏輯代碼

把原來的代碼刪除,修改為一句。沒錯,我們的邏輯代碼就是一句代碼:

self.label_hello.setText(‘Hello world!‘)

儲存一下,然後運行。OK,大功告成!

 

最後的話,eric + pyqt 進行python的gui編程真的是太方便了,只需要關注邏輯實現就可以了

 

用 eric6 與 PyQt5 實現python的極速GUI編程(系列01)--Hello world!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.