gpt4 book ai didi

python - pyside ui 中的分离器现在可见

转载 作者:太空宇宙 更新时间:2023-11-03 17:18:44 26 4
gpt4 key购买 nike

为什么拆分器没有显示在选项卡中?

我不完全确定出了什么问题。我猜测布局框没有调整大小以匹配选项卡的大小,作为返回,在选项卡中生成了一个如此小的窗口,该窗口不足以显示其内容。欢迎任何代码建议。

import sys
from PySide import QtGui, QtCore

class Example(QtGui.QWidget):

def __init__(self):
super(Example, self).__init__()

self.initUI()

def initUI(self):

# controls - main
# ----------------------------------------------------------------------
main_tabWidget = QtGui.QTabWidget()

# controls - factions tab
# ----------------------------------------------------------------------
factions_tab = QtGui.QWidget()
factions_tab_layout = QtGui.QHBoxLayout()

topleft = QtGui.QFrame(factions_tab)
topleft.setFrameShape(QtGui.QFrame.StyledPanel)

topright = QtGui.QFrame(factions_tab)
topright.setFrameShape(QtGui.QFrame.StyledPanel)

splitter1 = QtGui.QSplitter(QtCore.Qt.Horizontal)
splitter1.addWidget(topleft)
splitter1.addWidget(topright)

factions_tab_layout.addWidget(splitter1)
QtGui.QApplication.setStyle(QtGui.QStyleFactory.create('Cleanlooks'))

main_tabWidget.addTab(factions_tab, "Factions")

# main layout
# ----------------------------------------------------------------------
main_layout = QtGui.QVBoxLayout()
main_layout.addWidget(main_tabWidget)

self.setLayout(main_layout)
self.setGeometry(300, 300, 400, 300)
self.setWindowTitle('Example')
self.center()
self.show()

def center(self):
qr = self.frameGeometry()
cp = QtGui.QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
self.move(qr.topLeft())

def onChanged(self, text):
self.lbl.setText(text)
self.lbl.adjustSize()


def main():

app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())


if __name__ == '__main__':
main()

最佳答案

factions_tab_layout 永远不会被赋予父级,并且不会被设置为任何小部件上的布局。这意味着当 initUI 返回时,它的子窗口部件将被垃圾收集,因为您也没有给它们任何一个父窗口部件。

最小修复:

    factions_tab_layout = QtGui.QHBoxLayout(factions_tab)

关于python - pyside ui 中的分离器现在可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33398639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com