为Python Qt4准备好grtexstr

时间:2013-10-17 21:04:27

标签: python qt4 pyqt pyqt4

我尝试使用python qt程序将tex方程式插入到xmgrace中。它被称为grtexstr,但问题(我假设)是它与Qt4不兼容。加载qt时我做了一些更改:

#from qt import *
from PyQt4.QtGui import *
from PyQt4.QtCore import *

但我仍然收到错误消息

File "./grtexstr.py", line 68, in __init__
    QWidget.__init__(self,parent,name,fl)
TypeError: QDialog(QWidget parent=None, Qt.WindowFlags flags=0): argument 2 has unexpected type 'NoneType'

当我尝试运行它时。谷歌给我带来了使用

的建议
fl=Qt.WindowFlags(0)

class latexWindow(QDialog):
    def __init__(self,parent = None,name = None,fl = 0):
        QWidget.__init__(self,parent,name,fl)

这也无济于事。有没有python Qt专家你可以帮忙吗?

我将文件here放在一边便可轻松访问。

修改

似乎问题的类型存在,不应该是None。

1 个答案:

答案 0 :(得分:1)

要回答您的问题,QWidget.__init__()仅在Qt4 +,parentf(窗口标记)中使用两个参数。我不熟悉Qt的早期版本,但我猜他们已将签名更改为不需要名称。

所以你应该打电话(虽然请参阅下面有关QWidget vs QDialog的评论):

QWidget.__init__(self,parent,fl)

您想要在窗口标题栏中显示的内容是name吗?您可以单独设置:

if name:
    self.setWindowTitle(str(name))

此外,为什么要调用QWidget.__init__()而不是QDialog.__init__(),因为您正在继承QDialog