关于“永远在上”的问题有很多信息,但我太缺乏经验。 我想在我的窗口(这是QDialog)上有一个CheckBox(aboveAll)来将窗口的行为从'normal'切换到'always on top'。最近我得到:通过复选框始终处于顶级行为PyQt
from PyQt4.QtGui import *
class MyForm(QtGui.QDialog):
def __init__(self, parent = None):
QtGui.QWidget.__init__(self,parent)
self.ui = Ui_Kamipy()
self.ui.setupUi(self)
self.ui.aboveAll.stateChanged.connect(self.ABOVE)
def ABOVE(self):
if self.ui.aboveAll.isChecked() == True:
self.ui.setWindowFlags(self.ui.windowFlags() & ~QtCore.Qt.WindowStaysOnTopHint)
if self.ui.aboveAll.isChecked() == False:
self.ui.setWindowFlags(self.ui.windowFlags() | QtCore.Qt.WindowStaysOnTopHint)
以及它所带来的以下错误:
Traceback (most recent call last): File "kamimimi.pyw", line 17, in ABOVE self.ui.setWindowFlags(self.ui.windowFlags() | QtCore.Qt.WindowStaysOnTopHint) AttributeError: 'Ui_Kamipy' object has no attribute 'setWindowFlags'
是不是因为我的窗口是一个对话框(不是主窗口)?我该如何解决它?
现在很清楚。在发布这个问题之前,我已经写好了我的代码,但窗口消失让我觉得它完全搞砸了。非常感谢你的深刻解释!我会投票,如果我可以:-) – Oromay