PyQt QtDesigner丢失了窗口最小化按钮

时间:2014-08-14 07:42:52

标签: windows qt pyqt

我的问题只出现在Qtdesigner中。 我正在使用QtDesigner v4.8.4为pyqt项目定义我的HMI。在这个编辑器中,我淹没的窗口,右上角有一个缩小和关闭按钮。对不起,我想通过截图向您展示,但我没有足够的声誉。

当我使用它或预先设置它时(使用Ctrl + R),我失去了窗口的“最小化按钮”及其功能。 你有同样的行为吗?

我有一个没用的?而是按钮和关闭按钮。我怎么能保持它以最小化我的窗口?

非常感谢任何建议!

2 个答案:

答案 0 :(得分:1)

  

当我使用它或预先设置它时(使用Ctrl + R),我失去了窗口的“最小化按钮”及其功能。

回答:这不是错误,我只是预览您的小部件。如果pyqt中的工具可以看到窗口的所有按钮。

enter image description here

图片:显示Qt4的预可视化设计师没有“最小化按钮”

enter image description here

图片:显示PyQt4的运行(默认为“最小化按钮”)“

  

您能否请出示右上角最小化按钮的实现示例,因为我的脚本

好的,关键字是通过此方法QWidget.changeEvent (self, QEvent) 实现小部件中的事件,请参阅我的示例代码,希望是有帮助的;

import sys
from PyQt4 import QtCore, QtGui, uic

(loadUserInterface, loadQWidget) = uic.loadUiType('QWelcomeWidget.ui')

class QWelcomeWidget (loadQWidget):
    def __init__ (self, parent = None):
        loadQWidget.__init__(self, parent)
        self.ui = loadUserInterface()
        self.ui.setupUi(self)

    def changeEvent (self, eventQEvent):
        if eventQEvent.type() == QtCore.QEvent.WindowStateChange:
            if self.windowState() & QtCore.Qt.WindowMinimized:
                print 'Window Minimized'
        QtGui.QWidget.changeEvent(self, eventQEvent)

if __name__ == '__main__':
    appQApplication = QtGui.QApplication(sys.argv)
    mainQWidget = QWelcomeWidget()
    mainQWidget.show()
    # Start Application
    sys.exit(appQApplication.exec_())

参考文献http://pyqt.sourceforge.net/Docs/PyQt4/qwidget.html#changeEvent


此致

答案 1 :(得分:0)

使用

将.ui文件转换为(.py)python文件
pyuic4 filename.ui 

sudo pyuic4 -x ptqt_filename.ui -o python_file_name.py

现在运行该python文件,您将能够看到所有控件

python pyqt_first_ui.py