1. 程式人生 > >PyQt5學習筆記01----第一個視窗

PyQt5學習筆記01----第一個視窗

寫在前面的話

      最近想學習一下桌面程式開發,可是MFC臃腫複雜介面難看,而WPF無法跨平臺,似乎只剩下了QT這一個選擇。本來想借著學習python熱情,看看python下有木有什麼好看的圖形庫,怎奈我用的python3.* 不支援wxpython(才疏學淺,知道的庫實在太少),於是誤入tkinter大坑,終於在學習tkinter的過程中聽說了PyQt這個好東西。

       可惜pyqt5的教程實在太少,有哪些好的教程希望大牛們指教。

Qt(C++) 與PyQt

    這裡,順面比較一下PyQt與普通Qt(C++)生成程式的區別。一般而言,兩者速度沒有可比性,但是,速度在這裡不是主要問題,原因在於PyQt的核心也就是Qt庫,那是用C++寫的,這樣,一般而言不會佔用太多時間的邏輯程式碼速度慢點,也不會成為瓶頸。同時,在使用方式上,PyQt並沒有失去Python的優雅語法,快速開發的能力。

第一個視窗

import sys
from PyQt5 import QtWidgets


#pyqt視窗必須在QApplication方法中使用
app=QtWidgets.QApplication(sys.argv)


label=QtWidgets.QLabel("<p style='color: red; margin-left: 20px'><b>hell world</b></p>")      #qt支援html標籤,強大吧
#有了例項,就需要用show()讓他顯示
label.show()


sys.exit(app.exec_())                                              #訊息結束的時候,程序結束,並返回0,接著呼叫sys.exit(0)退出程式


from PyQt5 import QtWidgets
#從PyQt庫匯入QtWidget通用視窗類
class mywindow(QtWidgets.QWidget):
#自己建一個mywindows類,以class開頭,mywindows是自己的類名,
#(QtWidgets.QWidget)是繼承QtWidgets.QWidget類方法,
    def __init__(self):
        super(mywindow,self).__init__()

import sys
app = QtWidgets.QApplication(sys.argv)
windows = mywindow()
label=QtWidgets.QLabel(windows)     #在視窗中繫結label
label.setText("hello world")

windows.show()
sys.exit(app.exec_())



歡迎加我微訊號,一起探討,一起學習!