Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt-显示父级后无法显示Qt.Tool窗口?_Qt_Dialog_Pyqt_Show_Flags - Fatal编程技术网

Qt-显示父级后无法显示Qt.Tool窗口?

Qt-显示父级后无法显示Qt.Tool窗口?,qt,dialog,pyqt,show,flags,Qt,Dialog,Pyqt,Show,Flags,我基本上有一个QMainWindow和一个对话框窗口,其构造函数如下所示 class VisualTool(QtGui.QDialog): def __init__(self, parent = None): QtGui.QWidget.__init__(self, parent) self.WidgetBoard = Ui_Aesthetics_Tool() self.WidgetBoard.setupUi(self) s

我基本上有一个QMainWindow和一个对话框窗口,其构造函数如下所示

class VisualTool(QtGui.QDialog):
    def __init__(self, parent = None):
        QtGui.QWidget.__init__(self, parent)
        self.WidgetBoard = Ui_Aesthetics_Tool()
        self.WidgetBoard.setupUi(self)
        self.setWindowFlags(QtCore.Qt.Tool)    # <-
class VisualTool(QtGui.QDialog):
def uuu init uuu(self,parent=None):
QtGui.QWidget.\uuuuu init\uuuuuu(self,parent)
self.WidgetBoard=Ui\u美学工具()
self.WidgetBoard.setupUi(self)

self.setWindowFlags(QtCore.Qt.Tool)#我不确定我是否理解您的问题到底是什么。这个测试代码片段似乎运行良好,但我不知道您丢失的Ui\u\u Tool()代码是如何修改工具窗口的:

#!/usr/bin/env python

import sys
from PyQt4 import QtCore, QtGui


class Main(QtGui.QMainWindow):
    def __init__(self, parent=None):
        super(Main, self).__init__(parent)
        self.resize(640,480)        
        self.button = QtGui.QPushButton("Click me")
        self.setCentralWidget(self.button)

        self.button.clicked.connect(self.showTool)

    def showTool(self):
        tool = VisualTool(self)
        tool.show()

class VisualTool(QtGui.QDialog):
    def __init__(self, parent = None):
        QtGui.QWidget.__init__(self, parent)
        # self.WidgetBoard = Ui_Aesthetics_Tool()
        # self.WidgetBoard.setupUi(self)
        self.setWindowFlags(QtCore.Qt.Tool)


if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    myapp = Main()
    myapp.show()
    sys.exit(app.exec_())
我能够启动多个工具窗口。
至于使用exec_uz(),这是一个模式阻塞调用,可能不是您想要的

我不太清楚你的问题到底是什么。这个测试代码片段似乎运行良好,但我不知道您丢失的Ui\u\u Tool()代码是如何修改工具窗口的:

#!/usr/bin/env python

import sys
from PyQt4 import QtCore, QtGui


class Main(QtGui.QMainWindow):
    def __init__(self, parent=None):
        super(Main, self).__init__(parent)
        self.resize(640,480)        
        self.button = QtGui.QPushButton("Click me")
        self.setCentralWidget(self.button)

        self.button.clicked.connect(self.showTool)

    def showTool(self):
        tool = VisualTool(self)
        tool.show()

class VisualTool(QtGui.QDialog):
    def __init__(self, parent = None):
        QtGui.QWidget.__init__(self, parent)
        # self.WidgetBoard = Ui_Aesthetics_Tool()
        # self.WidgetBoard.setupUi(self)
        self.setWindowFlags(QtCore.Qt.Tool)


if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    myapp = Main()
    myapp.show()
    sys.exit(app.exec_())
我能够启动多个工具窗口。
至于使用exec_uz(),这是一个模式阻塞调用,可能不是您想要的

更新;我有一个工具可以用.exec_()显示,但这会禁止与QMainWindow.Update的交互;我有一个工具可以用.exec_u3;()显示,但这会禁止与QMainWindow的交互。刚刚修复了它。。。。我的和你的一模一样。然而,我只是在“工具”中添加了“自我”,现在一切都正常了!不知道为什么你现在没有它!谢谢你!刚修好。。。。我的和你的一模一样。然而,我只是在“工具”中添加了“自我”,现在一切都正常了!不知道为什么你现在没有它!谢谢你!