PyQt5 學習筆記(1)

2022-09-20 02:42:10 字數 2176 閱讀 7333

在學習pyqt5的布局時,發現如下問題:當使用pyqt5.qtwidgets.qmainwindow()建立主視窗,並向主視窗新增布局時,會報警告"qwidget::setlayout: attempting to set qlayout "" on qmainwindow "", which already has a layout",大意是說qmainwindow已經有layout了,qwidget::setlayout無法再向qmainwindow新增qlayout。而且,qlayout中的widget無法在視窗中顯示。

解決此問題的方法:將qmainwindow()修改為qwidget(),即可解決此問題。

**如下:

1import

sys2

import

pyqt5

3from pyqt5.qtwidgets import

4from pyqt5 import

qtcore, qtwidgets

5from pyqt5.qtgui import

qpalette, qicon67

if__name__ == "

__main__":

8#新建應用程式10#

新建主視窗

11 mainwindow =pyqt5.qtwidgets.qwidget()12#

icon = qicon.addpixmap()13#

mainwindow.setwindowicon(qicon(r'd:\vscode\pic\test.png'))

1415 port =qtwidgets.qcombobox()

16 port.additems(['

com1

', '

com2

', '

com3

', '

com4

', '

com5

', '

com6

', '

com7

', '

com8

', '

com9'])

1718 baud =qtwidgets.qcombobox()

19 baud.additems(['

9600

', '

115200'])

2021 check =qtwidgets.qcombobox()

22 check.additems(['

none

', '

odd', '

even

', '

mark

', '

space'])

2324 datalen =qtwidgets.qcombobox()

25 datalen.additems(['

5', '

6', '

7', '

8', '9'

])26

27 stopbit =qtwidgets.qcombobox()

28 stopbit.additems(['

1', '

1.5', '2'

])29

30 vbox =qvboxlayout()

31vbox.addwidget(port)

32vbox.addwidget(baud)

33vbox.addwidget(check)

34vbox.addwidget(datalen)

35vbox.addwidget(stopbit)

3637

mainwindow.setlayout(vbox)38#

視窗大小設定

39 mainwindow.resize(800, 600)

40 mainwindow.setwindowtitle('

串列埠助手')

4142

#視窗顯示

43mainwindow.show()

view code

pyqt5學習筆記 1

from pyqt5.qt import import sys 使用sys.ar 是為了讓gui程式接收到使用者傳遞的引數 建立乙個控制項,如果這個控制項沒有父控制項,那麼pyqt5會控制項加上標題等屬性,並可以設定屬性內容 這個控制項也可以叫做頂層控制項,沒有父控制項的控制項的展示需要呼叫show...

PyQt5 學習筆記

pyqt5是由一系列python模組組成。超過620個類,6000函式和方法。能在諸如unix windows和mac os等主流作業系統上執行。pyqt5有兩種證書,gpl和商業證書。pyqt5類分為很多模組,主要模組有 qtcore 包含了核心的非gui的功能。主要和時間 檔案與資料夾 各種資料...

pyqt5入門學習筆記

import sys if name main 建立乙個視窗 w qwidget 設定乙個視窗尺寸 w.resize 400,200 移動視窗 w.move 300,300 設定視窗標題 w.setwindowtitle 第乙個基於pyqt5的桌面應用 顯示視窗 w.show 進入程式的主迴圈,並通...