Python 我可以在小部件构造函数之外更改windowFlags吗?
我正在尝试向我的Qt(使用PyQt)应用程序添加“全屏”选项。如果用户点击F11,目标是最大化窗口 但是,我在删除窗口标题栏时遇到问题。通常,我会在Python 我可以在小部件构造函数之外更改windowFlags吗?,python,qt,pyqt,Python,Qt,Pyqt,我正在尝试向我的Qt(使用PyQt)应用程序添加“全屏”选项。如果用户点击F11,目标是最大化窗口 但是,我在删除窗口标题栏时遇到问题。通常,我会在\uuu init\uuu中执行类似于self.setWindowFlags(QtCore.Qt.customizeWindowint)的操作,并且标题栏不会显示(预期行为)。但是,如果我启动Qt应用程序,然后等待用户按F11,就像这样: def keyPressEvent(self, event): if event.key() == Qt
\uuu init\uuu
中执行类似于self.setWindowFlags(QtCore.Qt.customizeWindowint)
的操作,并且标题栏不会显示(预期行为)。但是,如果我启动Qt应用程序,然后等待用户按F11,就像这样:
def keyPressEvent(self, event):
if event.key() == QtCore.Qt.Key_F11:
self.__doFullScreenCheck()
def __doFullScreenCheck(self):
if self.maximizedFlg == False:
self.__maximizeWindow()
def __maximizeWindow(self):
***self.setWindowFlags(QtCore.Qt.CustomizeWindowHint)***
screen = QtGui.QDesktopWidget().screenGeometry()
self.setGeometry(screen)
self.maximizedFlg = True
将标记行置于\uuuu maximizeWidow
的\uuu init\uuuu
之外,似乎会使窗口完全消失。应用程序仍在运行(见任务管理器),但我无法使用Alt+Tab或任务管理器切换回它
如何在运行中更改窗口标志 来自:
注意:此函数在更改窗口的标志时调用setParent()
,从而隐藏小部件。您必须调用show()
使小部件再次可见
所以只要在
self.setWindowFlags(…)
之后添加self.show()
,你就没事了。D'oh!我把那篇文章读了好几遍,都没读到。谢谢你指出显而易见的问题。