0
私は、親Uiのボタンが押されたときに作成されて表示されるUiDialogueを設定しようとしています。Qt.FramelessWindowHintで子ダイアログを表示するPyQt/PySide
親ダイアログをフレームなし(期待どおりに表示されている)にしたいのですが、子ダイアログはフレームで作成されている場合のみ表示されます。
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_()