Python-QApplication.processEvents()的使用,解决pyqt 的textEdit内容无法实时刷新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-QApplication.processEvents()的使用,解决pyqt 的textEdit内容无法实时刷新相关的知识,希望对你有一定的参考价值。

参考技术A 作用是处理密集型耗时的事情,防止界面锁死

遇到的问题

要批量处理文件(大概几十个),界面处于长时间无相应的状态,但是希望能实时在界面上显示当前文件的处理进度如下图

解决方式便是调用了QApplication.processEvents(), 大致逻辑如下。即可保证界面每隔一段时间刷新一次,显示内容刷新,不会存在长时间无响应的情况。

嗯,本人很满意,哈哈哈哈

VC MFC 框架中 添加按钮控件

用的软件是vs2008+opencv 想做一个车牌识别的界面
如下图所示;好像mfc单文档模式下只能在工具栏上加按钮?为了美观我想把按钮加在图片右边的空白处该怎么做?
另外要是单文档模式下实在不能在白色区域加钮;用对话框的形式加钮很方便,但是不知道怎么openfile?完全就没有菜单栏好像。。求解
解决问题了我再加分
您能否解释得详细一点? 车辆图片右边的白色区域在resource view里面好像没有可以操作的地方。
另外对话框的属性里面哪一项是添加菜单的?我的是英文版 不太理解
我打算用wjjroy602602 所说的formview方法,但是找不到像OnDraw那种显示的函数,我若要想显示一副图片到上面该怎么做?实在对MFC太陌生希望好心人解答详细些~ 感谢大家!
补充问题回复到这里http://zhidao.baidu.com/question/162107520.html

openfile很简单,你只需要重载CDocment类的OnOpenFile就可以了,然后再它里边就可以得到要打开的文件路径。如果你要用按钮打开,也挺好做的,你在按钮响应里,声明CFileDialog类的变量fdlg然后fdlg.DoModel()就可以了,然后
if(fdlg.OnOk())//意思就是打开了文件

fdlg.GetPathName();
就可以得到文件目录了,哈哈,给分吧。都帮你解决了。!!!~~~
参考技术A 谁说单文档不能添加button:
1.为view类添加虚函数OnInitialUpdate。
2.为view类添加成员变量CButton m_btn。
2.在OnInitialUpdate添加代码:
CRect rect;
GetClientRect(rect);
m_btn.Create("打开", BS_DEFPUSHBUTTON | WS_VISIBLE | WS_CHILD, CRect(rect.Width() - 50,
rect.top, rect.Width(), rect.top + 50), this, IDC_BTN_OPEN);
3.在BEGIN_MESSAGE_MAP(CTestView, CView)
END_MESSAGE_MAP()添加消息映射ON_BN_CLICKED(IDC_BTN_OPEN, OnBtnOpen)
4.在DECLARE_MESSAGE_MAP()上添加消息响应原型afx_msg void OnBtnOpen();
5.添加函数实现void CTestView::OnBtnOpen()

MessageBox(_T("test"));


OK!
参考技术B 1、解答:车辆图片右边的白色区域在resource view里面好像没有可以操作的地方。

在添加图片时获取图片的宽和高的信息,然后移动按钮(用MoveWindow)即可。

2、解答:对话框的属性里面哪一项是添加菜单的?

找到对话框的属性栏,然后找带Menu字样的项,把想要加的菜单ID加进去即可
参考技术C 1.单文档会没有菜单栏?除非你自己把它去掉了
2.如果你想在view里面添加控件,就要在建工程的时候把view的基类改成formview,然后就可以像对话框一样拖拉控件了(当然如果你喜欢的话也可以自己生成控件类的对象然后create,自己再慢慢添加消息,消息映射,响应)
3.对话框的属性里面有一项叫menu(或者菜单)的属性吧,里面可以选择一个菜单的ID,然后对话框会自己显示。
参考技术D 单文档模式下实在不能在白色区域加钮 你是说的客户区域吗?可以自己画嘛。
对话框的菜单栏是可以加的。在对话框上点右键 -》属性 就有个添加菜单的。
第5个回答  2010-06-25

在视图类添加create函数,然后再找个函数里面添加控件并初始化就可以了

以上是关于Python-QApplication.processEvents()的使用,解决pyqt 的textEdit内容无法实时刷新的主要内容,如果未能解决你的问题,请参考以下文章