pyqt5 滾動條QScrollArea 例程

2021-10-07 20:11:14 字數 3262 閱讀 8176

滾動區域qscrollarea

滾動條qscrollbar

zoom in按鈕和zoom out按鈕分別用於放大縮小

**如下:

)1 例項化乙個qlabel控制項用於顯示大圖。setscaledcontents(true)方法可以讓隨著qlabel控制項大小變化而變化,即自適應;

2 例項化乙個qscrollarea控制項,呼叫setwidget()方法將qlabel滾動區域中的控制項。而以下這行**的含義就是要將滾動區域自帶的橫向滾動條給隱藏掉,因為我們要使用寄己的滾動條:

self.scroll_area.sethorizontalscrollbarpolicy(qt.scrollbaralwaysoff)
如果要隱藏縱向滾動條的話,則使用:

self.scroll_area.setverticalscrollbarpolicy(qt.scrollbaralwaysoff)
3 例項化乙個橫向滾動條,並呼叫setmaximum()方法設定最大值。而它的最大值應該跟qscrollarea被隱藏掉的橫向滾動條的最大值一樣;

4 例項化兩個按鈕用於放大縮小qlabel控制項(也會相應的放大縮小);

5 訊號和槽函式連線。在bigger_func()槽函式中,我們將qlabel控制項放大20%,同時設定qscrollbar的最大值為qscrollarea橫向滾動條的最大值;在smaller_func()槽函式中,我們將qlabel控制項縮小20%,同樣要更新qscrollbar的最大值;在sync_func()槽函式中,我們讓qscrollarea橫向滾動條的當前值和qscrollbar的值同步。這樣一來就相當於我們在用自己例項化的qscrollbar來控制滾動區域中的(相信某些讀者會有這樣的需求)。 小結

1 可以將qlabel換成乙個qwidget,而這個qwidget中包含許多子控制項,這樣做可以節省許多介面空間;

2 qscrollbar當然不一定要跟qscrollarea一起使用,我們也可以將它看成乙個qslider;

pyqt5切換python版本 pyqt5介面切換

主要的思路就是建立兩個frame 如果有兩個以上同理 使用setvisible 函式顯示或者隱藏frame 引數是bool值 import sys from pyqt5.qtwidgets import from pyqt5.qtcore import from pyqt5.qtgui import...

PyQt 滾動條自動到最底部

之前做了乙個小程式,介面文字顯示需要動態重新整理並且滾動到最底部顯示最新資訊,做了乙個記錄滾動條到底部的demo,如果需要實時重新整理需要用到timerevent.import sys class demo qwidget def init self super demo,self init sel...

qt 進度條 迴圈滾動 PyQt5進度條類控制項

進度條類控制項主要顯示任務的執行進度,pyqt5主要提供兩種型別進度條控制項 進度條progressbar和滑塊控制項qslider。一 progressbar 進度條 progressbar控制項對應pyqt5中的qprogressbar類,常用方法及說明見下表,最常用的訊號valuechange...