wx.ClientDC在窗口最小化之后所画内容消失的问题探讨
来源:互联网 发布:广东省软件企业评估 编辑:程序博客网 时间:2024/06/03 09:04
wx.DC有很多类别,如wx.PaintDC,wx.ClientDC,wx.BufferedDC,wx.BufferedPaintDC等。
本文以五子棋界面设计为例,探讨下wx.ClientDC所画内容在窗口最小化之后消失的问题。
博主是初学wxpython,在进行五子棋界面设计之前也没有接触过UI设计这方面的内容,所以在编程之前我问了之前用java编过五子棋的同学一个问题:界面是落一个子刷新一次,还是直接叠加?那个同学给我的答案是落子一次刷新一次界面难道不麻烦吗,于是我就成功的陷入了落子之后不刷新界面的误区。
在界面设计是,我使用wx.PaintDC绘制了棋盘背景,使用wx.ClientDC绘制了棋子,下方是代码(截了好几次图,有重叠的部分),程序是能正常工作的,但是会出现最小化窗口后,wx.ClientDC绘制的棋子消失,但落子的位置已被程序记录的问题。
之后我搜索了相关问题,基本上大家的解答是如果想要绘制的东西保存下来,就要使用wx.PaintDC,并且为了保证无界面刷新闪烁的问题,要使用wx.BufferedPaintDC,
于是我删掉了wx.ClientDC,设置每落一子便用wx.PaintDC重新绘制,注意wx.PaintDC必须和EVT_PAINT绑定,使用self.Refresh()刷新界面即为重绘界面,具体代码如下:
阅读全文
0 0
- wx.ClientDC在窗口最小化之后所画内容消失的问题探讨
- RedHat QQ 最小化之后消失问题的解决
- [转]MFC 窗口重绘问题,最小化消失的问题解决
- ubuntu 最小化时消失的窗口
- 请问在C#中如何将最小化后的窗口从Windows的状态栏上消失?
- redhat最小化窗口消失问题解决
- Linux窗口最小化消失,任务栏上无法找到的解决方法
- ubuntu窗口最小化消失,任务栏上无法找到的解决方法
- 使MFC窗口的最大化和最小化按钮消失
- fragment里面嵌套ViewPager,解决切换fragment了之后ViewPager中的内容消失的问题
- 窗口最小化之后没有图标
- 重启之后写入注册表的内容消失
- 自定义tableviewcell 被点击之后显示的内容消失
- IE窗口始终最小化的问题
- 记事本窗口最小化问题
- 解决linux窗口最小化在面板上发现不了的问题
- 窗口在掉标题栏不显示, 最小化后左下角有残留的问题
- ubuntu 全部的窗口的关闭按钮,最大化、最小化按钮消失的解决办法
- 磁盘管理
- 最长递增子序列(模板)
- JZOJ1218. 黑匣子(2017年8月B组)
- angularjs实现table增加tr
- Struts2源代码查看
- wx.ClientDC在窗口最小化之后所画内容消失的问题探讨
- HDU-1029-Ignatius and the Princess IV
- 刷题——Fence Repair POJ
- 教你如何使用Linux做开机自动运行【树莓派】
- Linux ALSA声卡驱动之一:ALSA架构简介
- 暑假集训 第N天 T2 Number
- mysql中的时间戳和日期时间的转换
- HDU 2888 Check Corners 二维RMQ模板
- 竞争神经网络