从 PyQt 的 TabWidget 中的顶部加载图像
load image from the Top in TabWidget from PyQt
下面的代码,从特定路径加载图像并放置在 Window.Here 的底部我需要从 top.So 加载图像,因为我需要更改选项卡小部件(Tab01、Tab02、Tab03)的放置。
我无法从顶部加载图像,也无法更改选项卡的位置 Widget.How 以及如何从顶部加载图像。
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_())
"from the top," 是指将图像放在 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" 将为您提供大量的入门博客和教程。
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_())
"from the top," 是指将图像放在 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" 将为您提供大量的入门博客和教程。