我知道QWidget中的一个位置,我想画一个插入符号。
调用paint重绘整个小部件,我只想重绘那个包含插入符/字符的'box'。有没有办法告诉它不要删除整个小部件?
如何创建一个会导致它闪烁的计时器(即使程序正在执行其他操作)?
我希望手动完成,而不是通过QTextLayout。
答案 0 :(得分:4)
QWidget有一个repaint()方法只重绘小部件的某个部分
QWidget.repaint (self, int x, int y, int w, int h)
QWidget.repaint (self, QRect)
QWidget.repaint (self, QRegion)
您可以创建一个定期触发的QTimer:
timer = QtCore.QTimer()
timer.timeout.connect(doBlinkMethod)
timer.start(1000) # every second
def doBlinkMethod():
print "blah"
你也可以实现你的小部件自己的内置计时器,以便在内部对自己进行操作: http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qobject.html#startTimer