PyQt(Python+Qt)學習隨筆:QScrollArea滾動區域的scrollAreaWidgetContents、widget及setWidget等相關概念解釋


在Designer中設計將一個lable放到滾動區域上,使用PyUIC生成代碼后,可以看到除了QScrollArea、label 標簽外,還多了個scrollAreaWidgetContents對象,並且label的父對象被設置為了這個scrollAreaWidgetContents對象,而滾動區域則調用scrollArea.setWidget(self.scrollAreaWidgetContents)與這個scrollAreaWidgetContents對象進行了關聯。

例如常見的生成代碼示例如下:

	    #生成滾動區域
	    self.scrollArea = QtWidgets.QScrollArea(mainWin)
        self.scrollArea.setGeometry(QtCore.QRect(9, 9, 261, 211))
		self.scrollArea.setObjectName("scrollArea")
		#生成滾動區域的內容部署層部件
        self.scrollAreaWidgetContents = QtWidgets.QWidget()
        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 241, 207))
        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
        #在內容部署層放置標簽部件
        self.label = QtWidgets.QLabel(self.scrollAreaWidgetContents)
        self.label.setGeometry(QtCore.QRect(9, 110, 54, 16))
        self.label.setObjectName("label")
        #設置滾動區域的內容部署部件為前面生成的內容部署層部件
        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
        

scrollAreaWidgetContents對象其實就是滾動區域上放置子部件的對象,子部件並不直接放置在QScrollArea對象上,而是放置在scrollAreaWidgetContents對象上,這個對象對應的界面范圍老猿稱其為內容部署層。

具體相關概念請參考《PyQt(Python+Qt)學習隨筆:QScrollArea滾動區域詳解》。

老猿Python,跟老猿學Python!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM