0
本質上,我試圖設置一個UiDialogue,當它的父Ui中的按鈕被按下時創建並顯示。PyQt/PySide顯示兒童對話與Qt.FramelessWindowHint
我希望父對話是無框的(正在工作並按預期顯示),但只有在對話框中使用子對話時纔會顯示。
如果第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_()