PyQt使用线程更新GUI

给几个参考文章: http://stackoverflow.com/questions/9957195/updating-gui-elements-in-multithreaded-pyqt http://stackoverflow.com/questions/2585442/sending-custom-pyqt-signals http://stackoverflow.com/questions/14090353/sending-messages-between-two-widgets-using-signals-and-slots http://themkbytes.blogspot.com/2012/06/pyqt-qthread-signal-gui-examples.html Threading with PyQt4

Qt读写ini文件

本文转载自:http://blog.csdn.net/qiurisuixiang/article/details/7760828 一 背景   1 ini文件介绍 .ini 文件是Initialization File的缩写,即初始化文件。 除了windows现在很多其他操作系统下面的应用软件也有.ini文件,用来配置应用软件以实现不同用户的要求。一般不用直接编辑这些.ini文件,应用程序的图形界面即可操作以实现相同的功能。它可以用来存放软件信息,注册表信息等。   2 ini文件格式 INI文件由节、键、值组成。 节 [section] 参数(键=值) name=value   下面是一个ini文件的例子

其中:[Section1 Name]用来表示一个段落。因为INI文件可能是项目中共用的,所以使用[Section Name]段名来区分不同用途的参数区。例如:[Section1 Name]表示传感器灵敏度参数区;[Section2 Name]表示测量通道参数区等等。 注解:使用分号表示(;)。在分号后面的文字,直到该行结尾都全部为注解。     二 Qt写ini文件  

运行程序后,打开程序目录下的hahaya.ini文件,结果如下图所示:   三 Qt读ini文件

程序运行截图:

在Qt中如何调用外部程序、显示输出

http://1.johnhome.sinaapp.com/?p=205 主要用QProcess类解决这个问题          如执行a.exe, 带两个参数为 -z20,-q85  第一种方法:使用QProcess类静态函数 QProcess::startDetached(const QString &program, const QStringList &argument)   或者 QProcess::execute(const QString &program, const QStringList &argument)  startDetached 函数不会阻止进程, execute会阻止,即等到这个外部程序运行结束才继续执行本进程。   QStringList  list; list<<“-q85″<<“-q85″; QProcess::startDetached(“a.exe”,list);   或 QProcess::execute(“a.exe”,list);    第二种方法:创建QProcess类,这种方法的好处是可以查看外部程序返回的数据,输出结果 QProcess *pProces = new QProcess(this); connect(pProces, SIGNAL(readyRead()),this, SLOT(on_read())); QStringList  list; pProces->start(“a.exe”, list); slot 函数: void on_read() { QProcess *pProces = (QProcess *)sender(); QString result = pProces->readAll(); QMessageBox::warning(NULL, “”, result); } 来源: <http://tuzhaoliang.blog.163.com/blog/static/21008112620128215757737/> QProcess::startDetached(“ExternalExe/fileAmountMonitor/fileAmountMonitor.exe”,QStringList(),“ExternalExe/fileAmountMonitor”)   //启动外部程序,不产生阻塞 QProcess outerProcess;
Continue reading 在Qt中如何调用外部程序、显示输出

Qt文件打开方式

枚举值 描述 QIODevice::NotOpen 未打开 QIODevice::ReadOnly 以只读方式打开 QIODevice::WriteOnly 以只写方式打开 QIODevice::ReadWrite 以读写方式打开 QIODevice::Append 以追加的方式打开,新增加的内容将被追加到文件末尾 QIODevice::Truncate 以重写的方式打开,在写入新的数据时会将游标设置在文件开头 QIODevice::Text 在读取时,将行结束符转换成 n;在写入时,将行结束符转换成本地格式,例如 Win32 平台上是 rn QIODevice::Unbuffered 忽略缓存 摘自http://www.devbean.net/2013/01/qt-study-road-2-text-file-io/

QMetaObject::connectSlotsByName: No matching signal for问题的解决方法

http://blog.csdn.net/fm0517/article/details/5503575 反正就是差不多的问题,我在不同类之间使用显式connect连接,然后就有这么个东西跑出来了.. 后来发现了这篇文章果然是这个原因 上面大概就是说:用VistalStudio里的QtEditer可以自动调用Qt中“connectSlotsByName”即“按空间名称关联槽”的方式进行关联,对应的函数必须写成“on_控件名_信号名”的格式;或者也可以通过connet函数人为显式地将信号和槽关联起来。但是,如果采用显式connect的方法的同时,又将槽函数的名字起成了“on_控件名_信号名”的格式,那么就会在运行时弹出“QMetaObject::connectSlotsByName: No matching signal for”的警告了!