Python PyQt QTextEdit遗忘设置

Python PyQt QTextEdit遗忘设置,python,pyqt4,qtextedit,Python,Pyqt4,Qtextedit,我有一个PyQt图形用户界面,里面有一个QTextEdit。我已经设置了一些小部件设置来处理诸如字体大小之类的问题。我看到的是,当我最初在字段中键入时,设置会被应用,但如果我删除所有文本并再次开始键入,则设置会重置为默认设置。下面是我可以看到这种行为的MWE。为了以防万一,我将Python3.5.1与PyQt4.8.7一起使用 from PyQt4 import QtCore, QtGui class App(object): def __init__(self):

我有一个PyQt图形用户界面,里面有一个
QTextEdit
。我已经设置了一些小部件设置来处理诸如字体大小之类的问题。我看到的是,当我最初在字段中键入时,设置会被应用,但如果我删除所有文本并再次开始键入,则设置会重置为默认设置。下面是我可以看到这种行为的MWE。为了以防万一,我将Python3.5.1与PyQt4.8.7一起使用

from PyQt4 import QtCore, QtGui

class App(object):

    def __init__(self):

        self.app = QtGui.QApplication([])   # The main application
        self.win = QtGui.QMainWindow()      # The main window
        self.widget = QtGui.QWidget()       # The central widget in the main window
        self.grid = QtGui.QVBoxLayout()     # The layout manager of the central widget

        self.textArea = QtGui.QTextEdit()
        self.grid.addWidget(self.textArea)
        self.textArea.setMinimumSize(600,300)
        self.textArea.setLineWrapMode(QtGui.QTextEdit.NoWrap)
        self.textArea.setFontPointSize(12)

        self.widget.setLayout(self.grid)
        self.win.setCentralWidget(self.widget)

        self.win.show()
        self.app.exec_()

App()

您可以创建一个新的QFont项,然后可以使用QTextEdit.setFont()


这样,在删除所有文本后,它将不会重置。

通常
App
将继承
QApplication
,即
类App(QtGui.QApplication):
。这可能与此有关。@101更改此操作会导致相同的行为。我没想到这会有效果。“我想知道这是否只是一些虫子。”西风。我所能看到的是字体点大小发生了变化,这与预期完全一致。@ekhumoro是的,我确实将其设置为变化。但我发现,如果我在窗口中键入,然后删除所有内容并再次开始键入,新文本会突然恢复为初始字体大小。它会设置当前格式。改为使用
setFont
。是的,这很有效!多么奇怪的行为啊。文件对我来说并不清楚当前的意思是暂时的。