我正在使用PySide构建应用程序,并且希望能够从单独的.ui文件加载窗口小部件。以下是我已经尝试过的一些代码,但是它无法让我将分别从主窗口加载的停靠小部件停靠在主窗口中。主窗口ui文件包含一个简单的主窗口和一些已经停靠在其中的项目,dock_widget ui包含一个停靠小部件和内部的一些按钮。当我双击停靠小部件的栏后,一旦它加载,似乎就没有“停靠”,当我将其拖动到主窗口上时,它也不会停靠。主窗口肯定会接受停靠窗口小部件,因为其中定义了一些正常工作的窗口小部件。#!/usr/bin/python# Import PySide classesimport sysfrom PySide.QtGui import *from PySide.QtCore import *from PySide.QtUiTools import QUiLoaderdef load_ui(ui_file, parent=None): loader = QUiLoader() file = QFile(ui_file) file.open(QFile.ReadOnly) myWidget = loader.load(file, None) myWidget.show() file.close() myWidget.show() return myWidget# Create a Qt applicationapp = QApplication(sys.argv)# Create a Label and show itmain_window = load_ui("ui/main_window.ui")dock_widget = load_ui("ui/console.ui", main_window)# Enter Qt application main loopapp.exec_()sys.exit()console.ui<?xml version="1.0" encoding="UTF-8"?><ui version="4.0"> <class>DockWidget</class> <widget class="QDockWidget" name="DockWidget"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>542</width> <height>261</height> </rect> </property> <property name="contextMenuPolicy"> <enum>Qt::DefaultContextMenu</enum> </property> <property name="windowTitle"> <string>DockWidget</string> </property> <widget class="QWidget" name="dockWidgetContents"> <layout class="QVBoxLayout" name="verticalLayout"> <item> <widget class="QTextEdit" name="textEdit_2"/> </item> <item> <widget class="QTextEdit" name="textEdit"/> </item> </layout> </widget> </widget> <resources/> <connections/></ui>关于我应该做些什么的任何想法
添加回答
举报
0/150
提交
取消