gpt4 book ai didi

python-2.7 - 如何在PyQt4中将QDockWidget添加到QFrame

转载 作者:行者123 更新时间:2023-12-05 04:18:26 24 4
gpt4 key购买 nike

如何将 QDockWidget 添加到 QFrame ?因为 QFrame 没有 addDockWidget !!!

from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys

app = QApplication( sys.argv )

qmainwin = QFrame()
#qmainwin.setWindowFlags(Qt.FramelessWindowHint)
s = QWidget()
vboxlayout = QVBoxLayout( )

spin1 = QSpinBox()
vboxlayout.addWidget( spin1 )

spin2 = QSpinBox()
vboxlayout.addWidget( spin2 )
s.setLayout( vboxlayout )

qdock = QDockWidget( )
qdock.setWindowFlags(Qt.FramelessWindowHint)
qdock.setWidget( s )
qmainwin.addDockWidget( Qt.TopDockWidgetArea, qdock )
qmainwin.show()

app.exec_()

最佳答案

这个怎么样?我将 QDockWidget 添加到 QLayout,然后设置 QFrame 的布局。

import sys
from PyQt4 import QtGui, QtCore

class Example(QtGui.QWidget):

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

self.initUI()

def initUI(self):

frame = QtGui.QFrame()
frame.setFrameStyle(QtGui.QFrame.Panel |
QtGui.QFrame.Plain)

label = QtGui.QLabel('This is random text')

dockWidget = QtGui.QDockWidget('Main', self)
# set the widget to non-movable, non-floatable and non-closable
dockWidget.setFeatures(dockWidget.NoDockWidgetFeatures)
dockWidget.setWidget(label)

# add the QDockWidget to the QLayout
hbox = QtGui.QHBoxLayout()
hbox.addWidget(dockWidget)

# set the layout of the QFrame
frame.setLayout(hbox)

# create another QLayout to add QFrame
vbox = QtGui.QVBoxLayout()
vbox.addStretch(1)
vbox.addWidget(frame)

self.setLayout(vbox)

self.setGeometry(300, 300, 500, 400)
self.setWindowTitle('Test')

def main():

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

if __name__ == '__main__':
main()

关于python-2.7 - 如何在PyQt4中将QDockWidget添加到QFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14795786/

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