我认为PySide小部件的重绘问题。如何在方法中间强制小部件(或整个窗口/应用程序)重新绘制?在
def on_button_clicked():
window.resultTextEdit.setPlainText("Parsing file...")
# indicate delay, this message should be visible while parsing
# but in fact it never appears
# can I force a repaint here?
result = parse() # (takes a little while)
window.resultTextEdit.setPlainText(result)
# display the results once done
app = QApplication(sys.argv)
window = QtUiTools.QUiLoader().load("application.ui")
window.userButton.clicked.connect(on_button_clicked)
window.show()
sys.exit(app.exec_())
对于任何需要在事件中间重新绘制的小部件,您只需调用
widget.repaint()
。请注意,UI的其余部分在重绘过程中没有响应(这对于一次性调用来说很好,但是如果您要反复重新绘制,则不需要这样做)。在(感谢梅尔把我指向https://stackoverflow.com/a/11806126/4720935)
相关问题 更多 >
编程相关推荐