gpt4 book ai didi

python - 如何在取消停靠后调整几何图形后触发 QTreeView 的更新

转载 作者:行者123 更新时间:2023-12-01 07:41:47 26 4
gpt4 key购买 nike

使用: Python 3.7 pyqt5 Windows10

当取消停靠时,我将主窗口的大小调整为没有 DockWindow 时的大小,但这样做时右侧的两列会消失在 View 之外。我尝试了各种事件来尝试触发对该 TreeView 的调整,但无济于事。我包含的代码存在问题,只需单击其中一个坞站,然后将生成的窗口与主窗口分离,您就可以明白我的意思。一如既往,我们非常感谢任何帮助。

我尝试过以下方法:

self.updateGeometry()
self.CenterPane.updateGeometry()
self.CenterPane.ItemDsply.updateGeometry()

self.resizeEvent(QResizeEvent(self.size(), QSize()))
self.CenterPane.resizeEvent(QResizeEvent(self.size(), QSize()))
self.CenterPane.ItemDsply.resizeEvent(QResizeEvent(self.size(), QSize()))

这是一个工作示例:

from sys  import exit as sysExit
from math import trunc

from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class CustomItemModel(QStandardItemModel):
def headerData(self, section, orientation, role):
if role == Qt.ForegroundRole:
brush = QBrush()
brush.setColor(Qt.blue)
brush.setStyle(Qt.SolidPattern)
return brush

elif role == Qt.BackgroundRole:
brush = QBrush()
brush.setColor(Qt.yellow)
brush.setStyle(Qt.SolidPattern)
return brush

elif role == Qt.FontRole:
font = QFont()
font.setBold(True)
font.setPointSize(10)
return font

return super().headerData(section, orientation, role)

class DockWin1(QDockWidget):
def __init__(self, parent):
QDockWidget.__init__(self)

self.setWindowTitle('Dock 1')
self.MainWin = parent

self.container = QWidget(self)
self.container.setLayout(QHBoxLayout())
self.setWidget(self.container)
self.container.layout().addWidget(QTextEdit())
self.setMinimumWidth(100)
self.setMinimumHeight(100)

self.topLevelChanged.connect(self.SetDock1Free)

@property
def MainWin(self):
return self.__parent

@MainWin.setter
def MainWin(self, value):
self.__parent = value

def closeEvent(self, event):
self.MainWin.ClosingDock1()

def SetDock1Free(self):
if self.MainWin.Dock1Free:
self.MainWin.CheckToResize('Dock1', 100)
else:
self.MainWin.CheckToResize('Dock1', self.width())

self.MainWin.Dock1Free = not self.MainWin.Dock1Free

class DockWin2(QDockWidget):
def __init__(self, parent):
QDockWidget.__init__(self)

self.setWindowTitle('Dock 2')
self.MainWin = parent

self.container = QWidget(self)
self.container.setLayout(QHBoxLayout())
self.setWidget(self.container)
self.container.layout().addWidget(QTextEdit())
self.setMinimumWidth(100)
self.setMinimumHeight(100)

self.topLevelChanged.connect(self.SetDock2Free)

@property
def MainWin(self):
return self.__parent

@MainWin.setter
def MainWin(self, value):
self.__parent = value

def closeEvent(self, event):
self.MainWin.ClosingDock2()

def SetDock2Free(self):
if self.MainWin.Dock2Free:
self.MainWin.CheckToResize('Dock2', 100)
else:
self.MainWin.CheckToResize('Dock2', self.width())

self.MainWin.Dock2Free = not self.MainWin.Dock2Free

class ItemDsplyr(QTreeView):
def __init__(self, CentrPane):
QTreeView.__init__(self, CentrPane)
self.CntrPane = CentrPane

self.setEditTriggers(QTreeView().NoEditTriggers)
self.model = CustomItemModel(0, 3)
self.model.setHorizontalHeaderLabels(['1st Col', '2nd Col', '3rd Col'])
self.model.setHeaderData(1, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole)
self.setModel(self.model)
self.setMinimumWidth(250)

self.header().setStretchLastSection(False)
self.header().setSectionResizeMode(0, QHeaderView.Stretch)
self.setColumnWidth(1, 75)
self.setColumnWidth(2, 100)

class CenterPanel(QWidget):
def __init__(self, MainWin):
QWidget.__init__(self)

self.MyEditor = QTextEdit('Editorial')
self.ItemDsply = ItemDsplyr(self)

CntrPane = QSplitter(Qt.Horizontal, self)
CntrPane.addWidget(self.MyEditor)
CntrPane.addWidget(self.ItemDsply)
CntrPane.setSizes([50,200])
CntrPane.setCollapsible(0, False)
CntrPane.setCollapsible(1, False)

hbox = QHBoxLayout(self)
hbox.addWidget(CntrPane)

self.setLayout(hbox)

class MenuToolBar(QDockWidget):
def __init__(self, MainWin):
QDockWidget.__init__(self)
self.MainWin = MainWin
self.MainMenu = MainWin.menuBar()

self.WndowMenu = self.MainMenu.addMenu('Windows')

self.Dock1Act = QAction('Dock1', self)
self.Dock1Act.setStatusTip('Open the Dock1 Window')
self.Dock1Act.triggered.connect(MainWin.ShowDock1)

self.Dock2Act = QAction('Dock2', self)
self.Dock2Act.setStatusTip('Open the Dock2 Window')
self.Dock2Act.triggered.connect(MainWin.ShowDock2)

self.WndowMenu.addAction(self.Dock1Act)
self.WndowMenu.addSeparator()
self.WndowMenu.addAction(self.Dock2Act)

self.InitToolBar(MainWin)

def InitToolBar(self, MainWin):
self.mainToolBar = MainWin.addToolBar("Quick Access")

self.mainToolBar.addAction(self.Dock1Act)
self.mainToolBar.addSeparator()
self.mainToolBar.addAction(self.Dock2Act)

class UI_MainWindow(QMainWindow):
def __init__(self, MainDesktop):
super(UI_MainWindow, self).__init__(MainDesktop)
self.setWindowTitle('Main Window')
self.Dock1Open = False
self.Dock1Free = False
self.Dock2Open = False
self.Dock2Free = False

self.MnDskTop = MainDesktop

# Left, Top, Width, Height
self.setGeometry(200, 200, 550, 550)

self.CenterPane = CenterPanel(self)
self.setCentralWidget(self.CenterPane)

self.MenuToolBar = MenuToolBar(self)

def ShowDock1(self):
if not self.Dock1Open:
self.CheckToResize('Dock1', 300)
self.Dock1 = DockWin1(self)
self.Dock1Open = True
self.Dock1Free = False
self.addDockWidget(Qt.RightDockWidgetArea, self.Dock1)

def ClosingDock1(self):
self.Dock1Open = False

def ShowDock2(self):
if not self.Dock2Open:
self.CheckToResize('Dock2', 300)
self.Dock2 = DockWin2(self)
self.Dock2Open = True
self.Dock2Free = False
self.addDockWidget(Qt.RightDockWidgetArea, self.Dock2)

def ClosingDock2(self):
self.Dock2Open = False

def CheckToResize(self, WinDocked, DockWdth):
# If any of the other docks are open and docked do not resize
if self.Dock1Open and WinDocked != 'Dock1' and not self.Dock1Free:
return
elif self.Dock2Open and WinDocked != 'Dock2' and not self.Dock2Free:
return

Docking = True
if WinDocked == 'Dock1' and self.Dock1Open != self.Dock1Free:
Docking = False
elif WinDocked == 'Dock2' and self.Dock2Open != self.Dock2Free:
Docking = False

WinLeft = self.geometry().left()
WinTop = self.geometry().top()
WinWidth = self.geometry().width()
WinHight = self.geometry().height()
ScrWidth = self.MnDskTop.screenGeometry().width()

# Docking
if Docking:
if ScrWidth < (WinLeft + WinWidth + DockWdth):
WinLeft = 0
WinWidth = ScrWidth
elif WinLeft > (trunc(DockWdth/2)):
WinLeft = WinLeft - trunc(DockWdth/2)
WinWidth = WinWidth + DockWdth
else:
WinLeft = 0
WinWidth = WinWidth + DockWdth

self.setGeometry(WinLeft, WinTop, WinWidth, WinHight)
# Un-Docking
else:
WinWidth = WinWidth - DockWdth
self.setGeometry(WinLeft, WinTop, WinWidth, WinHight)
# Call the Event that Triggers View Adjustment ??
self.CenterPane.ItemDsply.updateGeometry()
# self.CenterPane.ItemDsply.resizeEvent(QResizeEvent(self.size(), QSize()))

if __name__ == '__main__':
MainApp = QApplication([])

MainGui = UI_MainWindow(MainApp.desktop())
MainGui.show()

sysExit(MainApp.exec_())

如上所述,我试图让 QTreeView 适当调整以适应新大小的窗口,以便它显示所有三列。目前,它将最后一列推到了 View 之外。

请求的图片:(参见评论)

DockWidget Attached Immediately After Detaching After Tweaking the Main Window a Smidge

最佳答案

void QHeaderView::setSectionResizeMode(int logicalIndex, QHeaderView::ResizeMode mode)

Sets the constraints on how the section specified by logicalIndex in the header can be resized to those described by the given mode. The logical index should exist at the time this function is called.

from sys  import exit as sysExit
from math import trunc

from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class CustomItemModel(QStandardItemModel):
def headerData(self, section, orientation, role):
if role == Qt.ForegroundRole:
brush = QBrush()
brush.setColor(Qt.blue)
brush.setStyle(Qt.SolidPattern)
return brush

elif role == Qt.BackgroundRole:
brush = QBrush()
brush.setColor(Qt.yellow)
brush.setStyle(Qt.SolidPattern)
return brush

elif role == Qt.FontRole:
font = QFont()
font.setBold(True)
font.setPointSize(10)
return font

return super().headerData(section, orientation, role)

class DockWin1(QDockWidget):
def __init__(self, parent):
QDockWidget.__init__(self)

self.setWindowTitle('Dock 1')
self.MainWin = parent

self.container = QWidget(self)
self.container.setLayout(QHBoxLayout())
self.setWidget(self.container)
self.container.layout().addWidget(QTextEdit())
self.setMinimumWidth(100)
self.setMinimumHeight(100)

self.topLevelChanged.connect(self.SetDock1Free)

@property
def MainWin(self):
return self.__parent

@MainWin.setter
def MainWin(self, value):
self.__parent = value

def closeEvent(self, event):
self.MainWin.ClosingDock1()

def SetDock1Free(self):
if self.MainWin.Dock1Free:
self.MainWin.CheckToResize('Dock1', 100)
else:
self.MainWin.CheckToResize('Dock1', self.width())

self.MainWin.Dock1Free = not self.MainWin.Dock1Free

class DockWin2(QDockWidget):
def __init__(self, parent):
QDockWidget.__init__(self)

self.setWindowTitle('Dock 2')
self.MainWin = parent

self.container = QWidget(self)
self.container.setLayout(QHBoxLayout())
self.setWidget(self.container)
self.container.layout().addWidget(QTextEdit())
self.setMinimumWidth(100)
self.setMinimumHeight(100)

self.topLevelChanged.connect(self.SetDock2Free)

@property
def MainWin(self):
return self.__parent

@MainWin.setter
def MainWin(self, value):
self.__parent = value

def closeEvent(self, event):
self.MainWin.ClosingDock2()

def SetDock2Free(self):
if self.MainWin.Dock2Free:
self.MainWin.CheckToResize('Dock2', 100)
else:
self.MainWin.CheckToResize('Dock2', self.width())

self.MainWin.Dock2Free = not self.MainWin.Dock2Free

class ItemDsplyr(QTreeView):
def __init__(self, CentrPane):
QTreeView.__init__(self, CentrPane)
self.CntrPane = CentrPane

self.setEditTriggers(QTreeView().NoEditTriggers)
self.model = CustomItemModel(0, 3)
self.model.setHorizontalHeaderLabels(['1st Col', '2nd Col', '3rd Col'])
self.model.setHeaderData(1, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole)

self.setModel(self.model)
self.setMinimumWidth(250)

self.header().setStretchLastSection(False)
self.header().setSectionResizeMode(2, QHeaderView.Stretch) # <---------
self.setColumnWidth(1, 75)
self.setColumnWidth(2, 100)

class CenterPanel(QWidget):
def __init__(self, MainWin):
QWidget.__init__(self)

self.MyEditor = QTextEdit('Editorial')
self.ItemDsply = ItemDsplyr(self)

CntrPane = QSplitter(Qt.Horizontal, self)
CntrPane.addWidget(self.MyEditor)
CntrPane.addWidget(self.ItemDsply)
CntrPane.setSizes([50,200])
CntrPane.setCollapsible(0, False)
CntrPane.setCollapsible(1, False)

hbox = QHBoxLayout(self)
hbox.addWidget(CntrPane)

self.setLayout(hbox)

class MenuToolBar(QDockWidget):
def __init__(self, MainWin):
QDockWidget.__init__(self)
self.MainWin = MainWin
self.MainMenu = MainWin.menuBar()

self.WndowMenu = self.MainMenu.addMenu('Windows')

self.Dock1Act = QAction('Dock1', self)
self.Dock1Act.setStatusTip('Open the Dock1 Window')
self.Dock1Act.triggered.connect(MainWin.ShowDock1)

self.Dock2Act = QAction('Dock2', self)
self.Dock2Act.setStatusTip('Open the Dock2 Window')
self.Dock2Act.triggered.connect(MainWin.ShowDock2)

self.WndowMenu.addAction(self.Dock1Act)
self.WndowMenu.addSeparator()
self.WndowMenu.addAction(self.Dock2Act)

self.InitToolBar(MainWin)

def InitToolBar(self, MainWin):
self.mainToolBar = MainWin.addToolBar("Quick Access")

self.mainToolBar.addAction(self.Dock1Act)
self.mainToolBar.addSeparator()
self.mainToolBar.addAction(self.Dock2Act)

class UI_MainWindow(QMainWindow):
def __init__(self, MainDesktop):
super(UI_MainWindow, self).__init__(MainDesktop)
self.setWindowTitle('Main Window')
self.Dock1Open = False
self.Dock1Free = False
self.Dock2Open = False
self.Dock2Free = False

self.MnDskTop = MainDesktop
print(f"MainDesktop->{MainDesktop}")

# Left, Top, Width, Height
self.setGeometry(200, 100, 550, 550)

self.CenterPane = CenterPanel(self)
self.setCentralWidget(self.CenterPane)

self.MenuToolBar = MenuToolBar(self)

def ShowDock1(self):
if not self.Dock1Open:
self.CheckToResize('Dock1', 300)
self.Dock1 = DockWin1(self)
self.Dock1Open = True
self.Dock1Free = False
self.addDockWidget(Qt.RightDockWidgetArea, self.Dock1)

def ClosingDock1(self):
self.Dock1Open = False

def ShowDock2(self):
if not self.Dock2Open:
self.CheckToResize('Dock2', 300)
self.Dock2 = DockWin2(self)
self.Dock2Open = True
self.Dock2Free = False
self.addDockWidget(Qt.RightDockWidgetArea, self.Dock2)

def ClosingDock2(self):
self.Dock2Open = False

def CheckToResize(self, WinDocked, DockWdth):
# If any of the other docks are open and docked do not resize
if self.Dock1Open and WinDocked != 'Dock1' and not self.Dock1Free:
return
elif self.Dock2Open and WinDocked != 'Dock2' and not self.Dock2Free:
return

Docking = True
if WinDocked == 'Dock1' and self.Dock1Open != self.Dock1Free:
Docking = False
elif WinDocked == 'Dock2' and self.Dock2Open != self.Dock2Free:
Docking = False

WinLeft = self.geometry().left()
WinTop = self.geometry().top()
WinWidth = self.geometry().width()
WinHight = self.geometry().height()
ScrWidth = self.MnDskTop.screenGeometry().width()

# Docking
if Docking:
if ScrWidth < (WinLeft + WinWidth + DockWdth):
WinLeft = 0
WinWidth = ScrWidth
elif WinLeft > (trunc(DockWdth/2)):
WinLeft = WinLeft - trunc(DockWdth/2)
WinWidth = WinWidth + DockWdth
else:
WinLeft = 0
WinWidth = WinWidth + DockWdth

self.setGeometry(WinLeft, WinTop, WinWidth, WinHight)
# Un-Docking
else:
WinWidth = WinWidth - DockWdth
self.setGeometry(WinLeft, WinTop, WinWidth, WinHight)
# Call the Event that Triggers View Adjustment ??
self.CenterPane.ItemDsply.updateGeometry()
# self.CenterPane.ItemDsply.resizeEvent(QResizeEvent(self.size(), QSize()))

if __name__ == '__main__':
MainApp = QApplication([])

MainGui = UI_MainWindow(MainApp.desktop())
MainGui.show()

sysExit(MainApp.exec_())

enter image description here

<小时/>

更新

sizeAdjustPolicy : SizeAdjustPolicy

This property holds the policy describing how the size of the scroll area changes when the size of the viewport changes.

from sys  import exit as sysExit
from math import trunc

from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class CustomItemModel(QStandardItemModel):
def headerData(self, section, orientation, role):
if role == Qt.ForegroundRole:
brush = QBrush()
brush.setColor(Qt.blue)
brush.setStyle(Qt.SolidPattern)
return brush

elif role == Qt.BackgroundRole:
brush = QBrush()
brush.setColor(Qt.yellow)
brush.setStyle(Qt.SolidPattern)
return brush

elif role == Qt.FontRole:
font = QFont()
font.setBold(True)
font.setPointSize(10)
return font

return super().headerData(section, orientation, role)

class DockWin1(QDockWidget):
def __init__(self, parent):
QDockWidget.__init__(self)

self.setWindowTitle('Dock 1')
self.MainWin = parent

self.container = QWidget(self)
self.container.setLayout(QHBoxLayout())
self.setWidget(self.container)
self.container.layout().addWidget(QTextEdit())
self.setMinimumWidth(100)
self.setMinimumHeight(100)

self.topLevelChanged.connect(self.SetDock1Free)

@property
def MainWin(self):
return self.__parent

@MainWin.setter
def MainWin(self, value):
self.__parent = value

def closeEvent(self, event):
self.MainWin.ClosingDock1()

def SetDock1Free(self):
if self.MainWin.Dock1Free:
self.MainWin.CheckToResize('Dock1', 100)
else:
self.MainWin.CheckToResize('Dock1', self.width())

self.MainWin.Dock1Free = not self.MainWin.Dock1Free

class DockWin2(QDockWidget):
def __init__(self, parent):
QDockWidget.__init__(self)

self.setWindowTitle('Dock 2')
self.MainWin = parent

self.container = QWidget(self)
self.container.setLayout(QHBoxLayout())
self.setWidget(self.container)
self.container.layout().addWidget(QTextEdit())
self.setMinimumWidth(100)
self.setMinimumHeight(100)

self.topLevelChanged.connect(self.SetDock2Free)

@property
def MainWin(self):
return self.__parent

@MainWin.setter
def MainWin(self, value):
self.__parent = value

def closeEvent(self, event):
self.MainWin.ClosingDock2()

def SetDock2Free(self):
if self.MainWin.Dock2Free:
self.MainWin.CheckToResize('Dock2', 100)
else:
self.MainWin.CheckToResize('Dock2', self.width())

self.MainWin.Dock2Free = not self.MainWin.Dock2Free

class ItemDsplyr(QTreeView):
def __init__(self, CentrPane):
QTreeView.__init__(self, CentrPane)
self.CntrPane = CentrPane

self.setEditTriggers(QTreeView().NoEditTriggers)
self.model = CustomItemModel(0, 3)
self.model.setHorizontalHeaderLabels(['1st Col', '2nd Col', '3rd Col'])
self.model.setHeaderData(1, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole)

self.setModel(self.model)
self.setMinimumWidth(250)

self.setSizeAdjustPolicy(QAbstractScrollArea.AdjustToContents) # <<<========

self.header().setStretchLastSection(False)
self.header().setSectionResizeMode(0, QHeaderView.Stretch)

self.setColumnWidth(1, 75)
self.setColumnWidth(2, 100)

class CenterPanel(QWidget):
def __init__(self, MainWin):
QWidget.__init__(self)

self.MyEditor = QTextEdit('Editorial')
self.ItemDsply = ItemDsplyr(self)

CntrPane = QSplitter(Qt.Horizontal, self)
CntrPane.addWidget(self.MyEditor)
CntrPane.addWidget(self.ItemDsply)
CntrPane.setSizes([50,200])
CntrPane.setCollapsible(0, False)
CntrPane.setCollapsible(1, False)

hbox = QHBoxLayout(self)
hbox.addWidget(CntrPane)

self.setLayout(hbox)

class MenuToolBar(QDockWidget):
def __init__(self, MainWin):
QDockWidget.__init__(self)
self.MainWin = MainWin
self.MainMenu = MainWin.menuBar()

self.WndowMenu = self.MainMenu.addMenu('Windows')

self.Dock1Act = QAction('Dock1', self)
self.Dock1Act.setStatusTip('Open the Dock1 Window')
self.Dock1Act.triggered.connect(MainWin.ShowDock1)

self.Dock2Act = QAction('Dock2', self)
self.Dock2Act.setStatusTip('Open the Dock2 Window')
self.Dock2Act.triggered.connect(MainWin.ShowDock2)

self.WndowMenu.addAction(self.Dock1Act)
self.WndowMenu.addSeparator()
self.WndowMenu.addAction(self.Dock2Act)

self.InitToolBar(MainWin)

def InitToolBar(self, MainWin):
self.mainToolBar = MainWin.addToolBar("Quick Access")

self.mainToolBar.addAction(self.Dock1Act)
self.mainToolBar.addSeparator()
self.mainToolBar.addAction(self.Dock2Act)

class UI_MainWindow(QMainWindow):
def __init__(self, MainDesktop):
super(UI_MainWindow, self).__init__(MainDesktop)
self.setWindowTitle('Main Window')
self.Dock1Open = False
self.Dock1Free = False
self.Dock2Open = False
self.Dock2Free = False

self.MnDskTop = MainDesktop
# print(f"MainDesktop->{MainDesktop}")

# Left, Top, Width, Height
self.setGeometry(200, 100, 550, 550)

self.CenterPane = CenterPanel(self)
self.setCentralWidget(self.CenterPane)

self.MenuToolBar = MenuToolBar(self)

def ShowDock1(self):
if not self.Dock1Open:
self.CheckToResize('Dock1', 300)
self.Dock1 = DockWin1(self)
self.Dock1Open = True
self.Dock1Free = False
self.addDockWidget(Qt.RightDockWidgetArea, self.Dock1)

def ClosingDock1(self):
self.Dock1Open = False

def ShowDock2(self):
if not self.Dock2Open:
self.CheckToResize('Dock2', 300)
self.Dock2 = DockWin2(self)
self.Dock2Open = True
self.Dock2Free = False
self.addDockWidget(Qt.RightDockWidgetArea, self.Dock2)

def ClosingDock2(self):
self.Dock2Open = False

def CheckToResize(self, WinDocked, DockWdth):
# If any of the other docks are open and docked do not resize
if self.Dock1Open and WinDocked != 'Dock1' and not self.Dock1Free:
return
elif self.Dock2Open and WinDocked != 'Dock2' and not self.Dock2Free:
return

Docking = True
if WinDocked == 'Dock1' and self.Dock1Open != self.Dock1Free:
Docking = False
elif WinDocked == 'Dock2' and self.Dock2Open != self.Dock2Free:
Docking = False

WinLeft = self.geometry().left()
WinTop = self.geometry().top()
WinWidth = self.geometry().width()
WinHight = self.geometry().height()
ScrWidth = self.MnDskTop.screenGeometry().width()

# Docking
if Docking:
if ScrWidth < (WinLeft + WinWidth + DockWdth):
WinLeft = 0
WinWidth = ScrWidth
elif WinLeft > (trunc(DockWdth/2)):
WinLeft = WinLeft - trunc(DockWdth/2)
WinWidth = WinWidth + DockWdth
else:
WinLeft = 0
WinWidth = WinWidth + DockWdth

self.setGeometry(WinLeft, WinTop, WinWidth, WinHight)
# Un-Docking
else:
WinWidth = WinWidth - DockWdth
self.setGeometry(WinLeft, WinTop, WinWidth, WinHight)
# Call the Event that Triggers View Adjustment ??
self.CenterPane.ItemDsply.updateGeometry()
# self.CenterPane.ItemDsply.resizeEvent(QResizeEvent(self.size(), QSize()))

if __name__ == '__main__':
MainApp = QApplication([])

MainGui = UI_MainWindow(MainApp.desktop())
MainGui.show()

sysExit(MainApp.exec_())

enter image description here

关于python - 如何在取消停靠后调整几何图形后触发 QTreeView 的更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56671038/

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