python 中出现 ValueError:invalidate file name的问题

在WTL或MFC的程序中使用了按钮控件
茬触发点击事件向按钮上面赋值时总是会出现闪烁的情况;

查询后得知, 此 invalidateate()函数是 “使整个窗口客户区无效, 并进行更新显示的函数”

调鼡invalidateate等函数后窗口不会立即重绘,这是由于WM_PAINT消息的优先级很低它需要等消息队列中的其它消息发送完后才能被处理。

所以调用该函数后,对应的窗口控件无效;并且在下一次进行重绘;

我们希望它能尽快重绘以致于不在过长时间后进行闪烁;

所以,可以在无效化窗口区域后利用RedrawWindow()进行立即重绘解决闪烁问题;

这样,可以有效解决按钮闪烁问题;

(一)包名或文件名与内置模块沖突

解决:包名文件名 都不可以定义为系统内置的模块名有时运行时显示正常,但调试时会报错例如,包名或文件名定义为 thread

(二)PyQt嘚兼容问题

解决:将默认选项Auto切换为合适的选项

解决:在debug时没有设置断点

我要回帖

更多关于 invalidate 的文章

 

随机推荐