本质上,我正在尝试设置一个uidialogue,当按下其父级按钮中的一个按钮时,该曲线被创建和显示。
我希望父母对话是无框的(这是按预期工作和显示的)
如果第24行上的评论外行未注册,则窗口未能显示,但该应用不会发出任何类型的错误。有人可以告诉我为什么吗?以下是代码的删除版本,任何帮助都将不胜感激。
谢谢。
import sys
from PySide.QtCore import *
from PySide.QtGui import *
class Ui_box(object):
def setupUi(self, box):
box.setObjectName("box")
self.setWindowFlags(Qt.FramelessWindowHint);
box.resize(749, 344)
self.p_b = QPushButton(box)
self.p_b.setGeometry(QRect(241, 140, 141, 91))
self.p_b.show()
self.retranslateUi(box)
QMetaObject.connectSlotsByName(box)
def retranslateUi(self, box):
box.setWindowTitle(QApplication.translate("WelcomeUI", "Tasker", None, QApplication.UnicodeUTF8))
class Ui_Innerbox(object):
def setupUi(self, Innerbox):
Innerbox.setObjectName("Innerbox")
#self.setWindowFlags(Qt.FramelessWindowHint);
Innerbox.resize(745, 340)
self.label = QLabel(Innerbox)
self.label.setText("this is me")
self.label.setGeometry(QRect(239, 140, 141, 91))
self.label.show()
self.retranslateUi(Innerbox)
QMetaObject.connectSlotsByName(Innerbox)
def retranslateUi(self, Innerbox):
Innerbox.setWindowTitle(QApplication.translate("WelcomeUI", "Tasker", None, QApplication.UnicodeUTF8))
class InnerBox(QDialog, Ui_Innerbox):
def __init__(self, parent=None):
QDialog.__init__(self, parent)
self.setupUi(self)
class Box(QDialog, Ui_box):
def __init__(self, parent=None):
QDialog.__init__(self, parent)
self.setupUi(self)
self.show()
self.p_b.clicked.connect(self.pressed_button)
def pressed_button(self):
self.Innerb = InnerBox(self)
self.hide()
self.Innerb.show()
if __name__ == '__main__':
app = QApplication(sys.argv);
newb = Box()
print("made")
app.exec_()
ive发现,如果未赋予其父级作为初始化参数并设置child.setModal('true')
,则可以实现所需的行为。默认情况下,孩子将设置其模态前任的位置匹配。