wxpython
万能菜道人
博客的书写一点都不好看,有的挺乱的,我在试着优化。
展开
-
wxpython如何设置window上任务栏的进度条
这里需要简单了解COM在Window上的概念,Window的构件框架,可以将一些功能模块化,能够兼容的使用其中提供的功能,只暴露出接口Class提供给我们使用。这里我首先尝试使用的是win32com的,但是目前的该功能仅仅支持ItaskbarList的基础类,功能也仅仅是支持有限的几个,删除激活任务栏而已。简单理解就是类似与一个C语言的.h文件,能够从中获取对应的接口来进行使用,而这里文件的生成就是使用微软提供的工具。这里的None与CLSID采用的继承或者组合的方式有关,一般情况下是None.原创 2023-10-30 10:07:45 · 280 阅读 · 0 评论 -
wx.Treebook中列表的宽度设置问题
而是要在设置完第一个或者都设置结束后。是没有效果的,不会自动进行更新。原创 2023-10-24 14:36:30 · 77 阅读 · 0 评论 -
wx.TextDropTarget中添加拖拽过程的触发函数
这里为什么要return wx.DragCopy我也不知道呀,例子是这样的,不写这return的话我自己测试是不能正常使用的。OnDropText被用于拖拽结束的处理函数之外。原创 2023-07-02 20:21:47 · 235 阅读 · 0 评论 -
在wx.Panel中使用的wx.grid.Grid 滚动条不见了
使用的是wxpython3.0.1版本。完美解决该问题,这个真的莫名其妙啊。原创 2023-06-25 17:53:11 · 223 阅读 · 0 评论 -
wxPython中按钮支持拖拽和点击功能
这里的思路是不移动鼠标则不设置拖拽功能,直接使用正常点击功能,如果按下出现了鼠标的移动,则需要设置拖拽的内容,注意这里要使用wx.CallLater,防止出现按下的按钮不会回弹,这是因为DoDraoDrop是阻塞的,会影响按钮的显示效果。最后的capture_lost只是为了处理使用中出现的一个报错。原创 2023-06-01 15:59:52 · 227 阅读 · 0 评论 -
wxpython使用中出现的内存泄露问题
其实这个代码本来也是有问题的,一般计时器都是在主线程使用,所以就不会有这样的现象。但是如果你使用全局变量s的话,就算调用结束也不会释放掉的,可能就存在危险了。self.Parent.Bind这个操作导致了引用数加1,且无法被释放掉!该机制的简单规则是计算引用某块内存的引用数目来判断是否自动删除。来查看实际引用数目,减去1是因为这次调用也有一个引用。这里因为是局部变量,调用函数结束之后就会自动释放掉。而这里类又是一个父类,会被很多子类继承并实例化。这里就会出现子类无法进行自动释放的问题了!原创 2022-09-20 16:18:40 · 384 阅读 · 0 评论 -
文本自动对齐功能探索实现
自动对齐的支持:思路:没有什么高端算法基础。目前想到的是简单地保存前缀空格和,根据语句与当前空格和预测下一行空格和。if elif else endif 支持例如遇到If下一行预测就是前缀加一个tab大小的空格,而elif ,else ,endif则无法使用预测的前缀空格,因为他们要特殊地和对应的if对齐,所有要保存之前所有遇到if的前缀,形成队列,直接使用最后一次保存的值,而预测给当前的值直接赋值给下一行预测,需要注意的是注意结束标志endif则需要将预测的值减去一个tab赋给下一行的预原创 2021-05-25 18:36:43 · 309 阅读 · 0 评论 -
处理wxPython TreeCtrl刷新节点名称造成的闪烁问题
版本wxpython2.9.1继承类:class TreeCtrlWithBuffer(wx.TreeCtrl): def __init__(self, parent,styles): wx.TreeCtrl.__init__(self, parent, style=styles) self.SetDoubleBuffered(True)self.SetDoubleBuffered(True原创 2021-03-02 10:23:07 · 238 阅读 · 0 评论 -
wxpython字体对话框的使用与字体wx.Font保存本地文件
对话框: dlg = wx.FontDialog(self,wx.FontData()) if dlg.ShowModal() == wx.ID_OK: data = dlg.GetFontData() Font = data.GetChosenFont()保存本地:还原: test = {"p...原创 2020-04-13 16:32:00 · 640 阅读 · 0 评论 -
wxPython CustomTreeCtrl树控件拖放到其他控件和树自身节点一览
拖放参考文章:https://blog.csdn.net/u012999796/article/details/54139496CustomTreeCtrl是一个wxpython的树控件类,在使用的过程中对于拖放功能一直不是很理解,最近看了以上文章和参考了一些其他例子的代码,对于wxPython实现该功能做一些说明。内容首先创建一个基础的界面,含有两个树CustomTreeCtrl和一...原创 2019-08-17 12:06:10 · 1769 阅读 · 0 评论 -
wxPython:wxStyledTextCtrl实现代码提示,自动补全
参考内容为https://blog.csdn.net/liujinz72213/article/details/93048341。感谢,这里是将自己的使用步骤记录一下。还有该控件是基于Scintilla的开源编辑项目,官方文档https://www.scintilla.org/ScintillaDoc.html#Autocompletion,有许多值得参考的地方。基础知识:wx....原创 2019-08-06 15:00:45 · 1053 阅读 · 0 评论 -
wxPython使用AuiNotebook布局的基础教程
这里wxpython在国内好像用的并不是很多,这里遇到了就给自己做个笔记。wx.aui.AuiNotebook第一步创建一个notebook的管理器AuiManager:self.AUIManager = wx.aui.AuiManager(self)第二步就是创建一个notebook,这里的属性具体需要自己增删:self.LeftNoteBook = wx.aui.Aui...原创 2019-07-12 09:39:17 · 2980 阅读 · 0 评论 -
Window下wxPython有时候出现缩放之后无法置顶的情况
r问题:将程序缩放到最小化,再点击任务栏无法置顶,只能打开任务管理器进行前置处理才行。处理:猜测是置顶优先级造成的问题?window内部的一些设置我并不了解。这里wx.Frame主界面有一个style:wx.STAY_ON_TOP会将界面设置为置顶,好像就不会出现了,如果出现会更新。接着程序一直置顶影响使用。于是一顿操作如下:首先监控缩放和最大化的事件self.B...原创 2019-07-12 17:30:35 · 511 阅读 · 0 评论 -
wxpython TreeCtrl依据字典进行添加和更新
需求:将一个不知深度如何的字典转成wx.TreeCtrl树形图的形式。该字典会一直刷新叶子键值对的值,反馈到树形图上。处理:1.首先递归将字典中的内容显示到wx.TreeCtrl,步骤如下:创建一个根目录:root = DebugTree.AddRoot('Debug', image=0)遍历字典第一层的键,然后调用递归函数,并传入子字典和创建Tree需要的参数。:...原创 2019-02-21 14:02:42 · 1406 阅读 · 0 评论 -
wxpython wx.grid.EVT_GRID_CELL_CHANGE重复触发卡顿卡死分析 wx.CallAfter
在使用wx.grid.EVT_GRID_CELL_CHANGE进行编写对应操作时,出现了重复触发卡顿的现象。这里需要详细说明的是对应操作有刷新界面,其中的表格也不是一般的表格。使用的是高级表格用法,例如wx.grid.GridCellChoiceEditor:这个表格具有下拉框。而出现这个问题的表格更加复杂,是带有一个更多按钮并具有弹出框的自定义衍生类。问题:在表格自动触发...原创 2019-01-22 18:42:50 · 1267 阅读 · 0 评论 -
wxpython初步涉及界面创建与等比例变化
wxpython个人感觉不是很好用。作者是先用C++学习的Qt,然后pyQt,目前有一部分涉及到了wxpython.个人感觉:wxpython的id真的难受!这里就不解释怎么创建一个wxpython的项目了,我写了一个按钮,这个是按钮的触发函数,触发函数创建一个界面并打开,其中有两个文本控件,可以等比例的显示出来。如下#一个按钮的触发函数:#首先是创建了Frame类型的窗口...原创 2018-11-14 15:47:07 · 1306 阅读 · 0 评论