pyqt學習之路 (1)乙個視窗

2021-10-08 04:50:31 字數 2169 閱讀 4889

1、在main函式中寫 

import sys

qwidget,\

qpushbutton,\

qhboxlayout,\

qlabel,\

qlineedit,qvboxlayout

if __name__=="__main__":

vb = qvboxlayout()

hb = qhboxlayout()

label = qlabel("使用者名稱:")

label.setfixedwidth(100)

lineedit = qlineedit()

hb.addwidget(label)

hb.addwidget(lineedit)

vb.addlayout(hb)

hb = qhboxlayout()

label = qlabel("密碼:")

label.setfixedwidth(100)

lineedit = qlineedit()

hb.addwidget(label)

hb.addwidget(lineedit)

vb.addlayout(hb)

hb = qhboxlayout()

hb.addstretch()

btn = qpushbutton("確定")

就這個小視窗來說,感覺python寫qt比c++寫qt要方便一些

2、定義乙個視窗類

import sys

qwidget,\

qpushbutton,\

qhboxlayout,\

qlabel,\

qlineedit,qvboxlayout

class widget(qwidget):

def __init__(self):

super().__init__()

vb = qvboxlayout()

hb = qhboxlayout()

label = qlabel("使用者名稱:")

label.setfixedwidth(100)

lineedit = qlineedit()

hb.addwidget(label)

hb.addwidget(lineedit)

vb.addlayout(hb)

hb = qhboxlayout()

label = qlabel("密碼:")

label.setfixedwidth(100)

lineedit = qlineedit()

hb.addwidget(label)

hb.addwidget(lineedit)

vb.addlayout(hb)

hb = qhboxlayout()

hb.addstretch()

btn = qpushbutton("確定",self)

進入應用程式的主迴圈。 事件處理從這一點開始。 主迴圈從視窗系統接收事件並將它們分派到應用程式小部件。 如果我們呼叫exit()方法或者主視窗小部件被破壞,那麼主迴圈就會結束。

gui應用程式都是事件驅動的(意識是gui程式的操作都是由事件來控制的)。比如鍵盤事件、滑鼠事件等等。還有一些事件來自於系統內部,比如定時事件、其它檔案事件等等。在沒有任何事件的情況下,應用程式處於睡眠狀態。這種事件驅動機制,gui應用程式都需要乙個主迴圈。主迴圈控制應用程式什麼時候進入睡眠狀態,什麼時候被喚醒。所以主迴圈就是幹這個的。

PyQt5建立乙個新視窗

1.使用qt design設計乙個空白視窗 注意 我是使用mainwindow建立的視窗 2.使用pyuic將.ui檔案轉換成.py檔案 右鍵.ui檔案 external tools pyuic 3.新建乙個 py檔案,大部分操作函式在 py檔案中,防止重新設計視窗時造成大量 丟失 4.py檔案 c...

第乙個PyQt5視窗

右鍵 external tools qtdesigner 選擇main window建立乙個窗體,從右邊拖動元件到窗體上,儲存路徑到自己的工程目錄下。右鍵.ui檔案 external tools pyuic,自動生成。py檔案 執行這個.py檔案是不會顯示出視窗的 第一步 注釋掉三行 第二步 在這個...

PyQt5學習筆記01 第乙個視窗

最近想學習一下桌面程式開發,可是mfc臃腫複雜介面難看,而wpf無法跨平台,似乎只剩下了qt這乙個選擇。本來想藉著學習python熱情,看看python下有木有什麼好看的圖形庫,怎奈我用的python3.不支援wxpython 才疏學淺,知道的庫實在太少 於是誤入tkinter大坑,終於在學習tki...