0

我尝试使用 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 专家可以提供帮助吗?

我把文件放在这里是为了方便访问。

编辑

名称类型似乎存在问题,不应为无。

4

1 回答 1

1

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

因此,您应该致电(尽管请参阅下面有关QWidgetvs的评论QDialog):

QWidget.__init__(self,parent,fl)

name想在窗口标题栏中显示什么?您可以使用以下方法单独设置:

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

另外,你为什么打电话QWidget.__init__()而不是QDialog.__init__(),因为你是子类化QDialog

于 2013-10-17T23:49:17.617 回答