gpt4 book ai didi

python - pyqt - 将 qt 设计器中的子小部件放置在父级附近

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

我使用Qt Designer创建一个子小部件(布局) - tree_view_widget_ui.py

class Ui_Form(object):
def setupUi(self, Form, parent = None):
Form.setObjectName(_fromUtf8("Form"))
Form.setEnabled(True)
Form.resize(200, 300)
Form.setMinimumSize(QtCore.QSize(200, 300))
self.gridLayout = QtGui.QGridLayout(Form)
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
self.treeWidget = QtGui.QTreeWidget(Form)
self.treeWidget.setEnabled(True)
self.treeWidget.setMinimumSize(QtCore.QSize(200, 300))
font = QtGui.QFont()
self.treeWidget.setFont(font)
self.treeWidget.setDragDropMode(QtGui.QAbstractItemView.DragDrop)
self.treeWidget.setObjectName(_fromUtf8("treeWidget"))
self.treeWidget.headerItem().setText(0, _fromUtf8("1"))
self.gridLayout.addWidget(self.treeWidget, 0, 0, 1, 1)

self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)

def retranslateUi(self, Form):
Form.setWindowTitle(_translate("Form", "Tree View", None))
self.treeWidget.setSortingEnabled(True)

我在tree_view_widget.py

中初始化子用户界面
from tree_view_widget_ui import Ui_Form

class TreeViewWidget(QWidget):
def __init__(self, parent=None, flags=0):
super(TreeViewWidget, self).__init__(parent)
self.ui = Ui_Form()
self.ui.setupUi(self, parent = parent)

子部件从父部件 main.py 初始化并用信号打开:

#    tree widget
from tree_view_widget.tree_view_widget import TreeViewWidget

class MainWindow(QtGui.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.flags = QtCore.Qt.Window
# tree view widget
self.TreeViewWidget = TreeViewWidget(parent=self)
self.TreeViewWidget.setWindowFlags(self.flags)
self.TreeViewWidget.show()

我的问题是:如何将子窗口小部件放置在左上角/右上角重合的父窗口小部件附近,并且不修改文件tree_view_widget_ui.py,因为此代码是从Qt Designer自动生成。我设法将子小部件定位到目标位置,但仅在修改文件 tree_view_widget_ui.py 时进行,但我希望尽可能避免这种情况。

最佳答案

class MainWindow :

您将需要使用self.TreeViewWidget.setGeometry(x, y, width, height)或者您可以使用 move(x, y) 函数。

请参阅 setGeometry 的文档和 move功能

关于python - pyqt - 将 qt 设计器中的子小部件放置在父级附近,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24455938/

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