PyQt4的一些问题汇总
- (1)PyQt4获取中文路径名字乱码问题
网址可以参见:http://permalink.gmane.org/gmane.comp.python.chinese/9916
处理方式的代码可以参考如下
#[1]第一种写法
filePath = unicode(QtGui.QFileDialog.getOpenFileName(None, "All Files (*)", self))
#[2]第二种写法
filechoose = QtGui.QFileDialog(self)
filePath = unicode(filechoose.getOpenFileName())
- (2)PyQt4读取文件,但是对话框打开两次
网址可以参考:http://bbs.csdn.net/topics/390948296
上面的网址帖子没人回
下面的帖子不是PyQt4,是C#,但是我发现问题是一样的
http://bbs.csdn.net/topics/380009233
即在如下代码区区域多写了一个定义声明,造成对话框打开两次
#伪代码
class Function():
def __init__():
QWidget.__init__(self, parent)
self.setupUi(self)
QtCore.QObject.connect(self.读取文件的对话框按钮对象,QtCore.SIGNAL("clicked()"), self.读取文件的对话框按钮对象的点击触发操作)
#请注意,上面这句话导致对话框打开两次,所以注释掉本句即可,就会变成正常的对话框打开一次 @pyqtSignature("")
def 读取文件的对话框按钮对象的点击触发操作(self):
filechoose = QtGui.QFileDialog(self)
filepath_meta_of_tab = unicode(filechoose.getOpenFileName())
content_meta_of_tab = open(filepath_meta_of_tab).read()
self.M1_InputPath.setText( filepath_meta_of_tab )
通过后来的资料,寻找发现有相关博客说明,网址为http://www.cnblogs.com/moodlxs/archive/2013/03/16/2963966.html
原因不仅仅是多了一个声明,原文引用如下:
在PyQt4中,界面代码与事件代码是分开的,这一点很赞,这样每次改界面就不会影响到事件处理的代码了。而wxPython这一点就做得不好。
事件处理要新建一个类并继承DlgHello类,然后在这个新类里写事件处理函数。新建类的工作可以交给Eric4来完成。右键点
DlgHello.ui,选择Generate Dialog
Code,在弹出的对话框中设定ClassName为DlgHello,同时,在这个对话框中可以选择我们感兴趣的事件,Eric4会一并生成事件处理函
数的定义。点确定之后,DlgHello.py就生成了。打开这个文件,“你好”按钮的事件被定义为:
@pyqtSignature("")
def on_btnHello_clicked(self):
"""
Slot documentation goes here.
"""
# TODO: not implemented yet
raise NotImplementedError注意这个@pyqtSignature("")自动处理了下面定义的槽slot(事件处理函数)与相对应的信号signal(事件)之间的关联,单击
btnHello按钮,就会自动执行这个函数。slot的命名规则就是”on_对像名_信号名”,如果想添加新的slot,按这个规则来添加函数就行,并
且在函数定义语句之前加上@pyqtSignature(""),不用再重新生成一次DlgHello.py文件。其实另外一种关联signal与slot之间的方法是在运行里绑定,比如按钮对象btnAbout的clicked信号的槽是about_clicked函数,那么在__init__函数中加入这样一句话:
PyQt4.QtCore.QObject.connect(self.btnAbout, PyQt4.QtCore.SIGNAL("clicked()"), self.about_clicked)
那么单击按钮btnAbout时就会执行about_clicked函数。两种方法各有长处。第一种方法简单,第二种方法对于多个signal使用同一个slot时很有效。
<<<<<<<<< 写在页面最底的小额打赏 >>>>>>>>>
如果读者亲愿意的话,可以小额打赏我,感谢您的打赏。您的打赏是我的动力,非常感激。
必读:如您愿意打赏,打赏方式任选其一,本页面右侧的公告栏有支付宝方式打赏,微信方式打赏。
避免因打赏产生法律问题,两种打赏方式的任一打赏金额上限均为5元,谢谢您的支持。
如有问题,请24小时内通知本人邮件。
PyQt4的一些问题汇总的更多相关文章
- PyQt4学习资料汇总
一个月前研究了下PyQt4,感觉比较不错.相比wxpython,界面美观了很多,并且将界面设计与代码逻辑很好的分离了开来.关于PyQt4的资料也不少,这里我将我找到的资料汇总一下,以防自己以后忘得一干 ...
- 转:PyQt4学习资料汇总 from coderzh
一个月前研究了下PyQt4,感觉比较不错.相比wxpython,界面美观了很多,并且将界面设计与代码逻辑很好的分离了开来.关于PyQt4的资料也不少,这里我将我找到的资料汇总一下,以防自己以后忘得一干 ...
- MAC OS X Yosemite的PyQt4配置记录
MAC OS X Yosemite的PyQt4配置记录 声明: 1)本报告由博客园bitpeach撰写,版权所有,免费转载,请注明出处,并请勿作商业用途. 2)若本文档内有侵权文字或图片等内容,请联系 ...
- Python-PyQt4学习资料汇总
摘自:http://www.cnblogs.com/coderzh/archive/2009/06/28/1512654.html 官方文档: http://pyqt.sourceforge.net/ ...
- PyQt5官方教程+帮助文档+模块功能汇总
写在开头 笔者自学PyQt5的过程中,在网上发现了不少友好的新手入门教程,比如: Archi的博客 PyQt5图形界面编程 但是学习PyQt5的最好方法是阅读官方文档 + 自己动手实践,笔者将分享官网 ...
- 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)
前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本 ...
- 异常处理汇总 ~ 修正果带着你的Net飞奔吧!
经验库开源地址:https://github.com/dunitian/LoTDotNet 异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983 ...
- UWP开发必备:常用数据列表控件汇总比较
今天是想通过实例将UWP开发常用的数据列表做汇总比较,作为以后项目开发参考.UWP开发必备知识点总结请参照[UWP开发必备以及常用知识点总结]. 本次主要讨论以下控件: GridView:用于显示数据 ...
- Oracle手边常用70则脚本知识汇总
Oracle手边常用70则脚本知识汇总 作者:白宁超 时间:2016年3月4日13:58:36 摘要: 日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规 ...
随机推荐
- redis的运行机制
从以前总结的redis一些基本性能中,可知redis是非关系型数据库(nosql):这一类的数据类型有以下特点: 非关系型的(sql语句对它不起作用,不需要建表存数据,它是直接存储),分布式(主从复制 ...
- Flask实战第57天:UEditor编辑器集成以及配置上传文件到七牛
相关链接 UEditor:http://ueditor.baidu.com/website/ 下载地址:http://ueditor.baidu.com/website/download.html# ...
- Spring的安全机制
Spring Security:它提供全面的安全性解决方案,同时在Web请求和方法调用处理身份确认和授权,利用依赖注入和aop技术.主要名词: 1,安全拦截器:相当应用的一把锁,能够阻止对应用程序中保 ...
- Maven环境配置及idea建Maven工程
https://blog.csdn.net/qq_37497322/article/details/78988378
- 【BZOJ 1057】 1057: [ZJOI2007]棋盘制作
1057: [ZJOI2007]棋盘制作 Description 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源 于易经的思想,棋盘是一个8*8大小的 ...
- java中ThreadLocal类的使用
ThreadLocal是解决线程安全问题一个很好的思路,ThreadLocal类中有一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值对应线程的变量副本,由于Key值不可重复, ...
- hdu 1384 Intervals (差分约束)
Intervals Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- hdu 5963 朋友(2016ccpc 合肥站 C题)
朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submissi ...
- 【DFS】佳佳的魔法阵
[vijos1284]佳佳的魔法阵 背景 也许是为了捕捉猎物(捕捉MM?),也许是因为其它原因,总之,佳佳准备设计一个魔法阵.而设计魔法阵涉及到的最关键问题,似乎就是那些带有魔力的宝石的摆放…… 描述 ...
- BZOJ 2152 聪聪可可(点分治)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2152 [题目大意] 给出一棵树,问任取两点之间距离为3的倍数的概率是多少 [题解] 树 ...