簡體   English   中英

從PyQt的TabWidget的頂部加載圖像

[英]load image from the Top in TabWidget from PyQt

在此處輸入圖片說明 在下面的代碼中,從特定路徑加載圖像並將其放置在Window的底部。在這里,我需要從頂部加載圖像。為此,我需要更改Tab窗口小部件(Tab01,Tab02,Tab03)的位置。 我無法從頂部加載圖像並且無法更改Tab窗口小部件的位置。如何執行此操作以及如何從頂部加載圖像。

import re,sys,os
from PyQt4 import QtGui,QtCore
class projs(QtGui.QWidget): 
    def __init__(self, parent=None):
        super(projs,self).__init__(parent)
        self.setWindowTitle(" V1.0 ")  
        tab_widget = QtGui.QTabWidget() 
        proj    = QtGui.QWidget() 
        asset   = QtGui.QWidget() 
        shots   = QtGui.QWidget() 
        tab_widget.addTab(proj, "Tab01") 
        tab_widget.addTab(asset, "Tab02")
        tab_widget.addTab(shots, "Tab03")
        self.projPathLabel = QtGui.QLabel("Project Path ",proj)
        self.projPathLabel.setGeometry(10,20,100,25)
        self.assetPathLabel = QtGui.QLabel("Project ",asset)
        self.assetPathLabel.setGeometry(20,20,100,25)
        self.shotPathLabel = QtGui.QLabel("Project ",shots)
        self.shotPathLabel.setGeometry(20,20,100,25)
        vbox = QtGui.QVBoxLayout()
        vbox.addWidget(tab_widget)         
        self.setLayout(vbox)      
        p1_vbox = QtGui.QVBoxLayout(proj)
        proj.setLayout(p1_vbox)
        p2_vbox = QtGui.QVBoxLayout(asset)
        asset.setLayout(p2_vbox)
        p3_vbox = QtGui.QVBoxLayout(shots)
        shots.setLayout(p3_vbox)
        vuvupic = QtGui.QPixmap("C:\Users\name\Documents\config\Logo2.jpg")
        label = QtGui.QLabel(self)
        label.setPixmap(vuvupic)
        vbox.addWidget(label)
app = QtGui.QApplication([]) 
win = projs() 
win.resize(410,390)
win.show()
sys.exit(app.exec_())

“從頂部開始”是指您要將圖像放置在TabWidget上方嗎? QLayouts的排列順序與vbox.addWidget()調用的順序相同,這意味着您可以對函數調用進行重新排序以將圖片放在頂部。

import re,sys,os
from PyQt4 import QtGui,QtCore
class projs(QtGui.QWidget): 
    def __init__(self, parent=None):
        super(projs,self).__init__(parent)
        self.setWindowTitle(" V1.0 ")  
        tab_widget = QtGui.QTabWidget() 
        proj    = QtGui.QWidget() 
        asset   = QtGui.QWidget() 
        shots   = QtGui.QWidget() 
        tab_widget.addTab(proj, "Tab01") 
        tab_widget.addTab(asset, "Tab02")
        tab_widget.addTab(shots, "Tab03")
        self.projPathLabel = QtGui.QLabel("Project Path ",proj)
        self.projPathLabel.setGeometry(10,20,100,25)
        self.assetPathLabel = QtGui.QLabel("Project ",asset)
        self.assetPathLabel.setGeometry(20,20,100,25)
        self.shotPathLabel = QtGui.QLabel("Project ",shots)
        self.shotPathLabel.setGeometry(20,20,100,25)
        vbox = QtGui.QVBoxLayout()
        vuvupic = QtGui.QPixmap("C:\Users\name\Documents\config\Logo2.jpg")
        label = QtGui.QLabel(self)
        label.setPixmap(vuvupic)
        vbox.addWidget(label)
        vbox.addWidget(tab_widget)         
        self.setLayout(vbox)      
        p1_vbox = QtGui.QVBoxLayout(proj)
        proj.setLayout(p1_vbox)
        p2_vbox = QtGui.QVBoxLayout(asset)
        asset.setLayout(p2_vbox)
        p3_vbox = QtGui.QVBoxLayout(shots)
        shots.setLayout(p3_vbox)
app = QtGui.QApplication([]) 
win = projs() 
win.resize(410,390)
win.show()
sys.exit(app.exec_())

另外,對於中等大小的項目,您可能需要考慮使用QtDesigner構建布局。 谷歌搜索“ pyqt designer”將為您提供大量入門博客和教程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM