[英]How can I force a repaint in PySide?
我有一个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的其余部分在重绘期间无响应(这对于一次调用是好的,但如果您反复重绘则不会)。
(感谢Mel指出我指向https://stackoverflow.com/a/11806126/4720935 )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.