我正在设计一个Pyside Qt应用程序,我想在我的主窗口中切换QtCore.Qt.WindowStaysOnTopHint
窗口标志。使用此代码设置此提示可以正常工作:
self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
self.show()
但我无法弄清楚如何使用Pyside删除窗口标志。
有人知道怎么做吗?
答案 0 :(得分:4)
窗口标志通常与现有标志一起进行“或”运算:
print(int(self.windowFlags()))
self.setWindowFlags(self.windowFlags() | QtCore.Qt.WindowStaysOnTopHint)
print(int(self.windowFlags()))
然后删除标志,并使用标志的否定将其输出:
self.setWindowFlags(self.windowFlags() & ~QtCore.Qt.WindowStaysOnTopHint)
print(int(self.windowFlags()))
答案 1 :(得分:0)
您可以像这样在顶部或底部切换窗口显示:
def toggleFunc(self):
if self.someCheckedButton.isChecked(): #show up at the top
self.setWindowFlags(self.theMainWindow.windowFlags() | QtCore.Qt.WindowStaysOnTopHint)
else: #show up at the bottom
self.setWindowFlags(self.theMainWindow.windowFlags() & ~QtCore.Qt.WindowStaysOnTopHint)
self.show() #it's important to show up the window again after changing the window flags