tag 标签: qt开发

相关博文
  • 热度 9
    2013-6-3 15:09
    778 次阅读|
    0 个评论
      作者:嵌入式学院武汉华嵌中心 讲师  李家凯   本文主要举例介绍Qt4中定时器的两种用法,供大家参考。     一、使用定时器的timeout()信号   关键代码片段如下:   class QtDemo {     public:          QTimer *timer;  //定时器类指针      public slots:         void timeoutslot();//定时器超时时触发的槽函数         void  startTimer();         void  stopTimer();   };   QtDemo::QtDemo() {         connect(pushButton1,SIGNAL(clicked()),this,SLOT(startTimer()));//  点击pushButton1启动定时器     connect(pushButton2,SIGNAL(clicked()),this,SLOT(stopTimer()));//   点击pushButton2停止定时器       timer=new QTimer(this);  //创建定时器       connect(timer,SIGNAL(timeout()),this,SLOT(timeoutslot()));//timeoutslot()为自定义槽,定时器timeout时触发该槽 }     void QtDemo::startTimer() {     timer-start(1000);  //启动定时器,超时为1秒 }     void QtDemo::stopTimer() {      timer-stop(); //停止定时器 }      void QtDemo::timeoutslot()//定时器超时时触发的槽函数 {     //在这里写定时器超时的要做的事情 }       二、重载timerEvent(QTimerEvent *)函数   关键代码片段如下:   class QtDemo2 {     public:           int Timer_id;  //定时器ID     public slots:          void mystartTimer();         void mystopTimer();   };     QtDemo2::QtDemo2() {         connect(pushButton1,SIGNAL(clicked()),this,SLOT(mystartTimer()));//  点击pushButton1启动定时器     connect(pushButton2,SIGNAL(clicked()),this,SLOT(mystopTimer()));//   点击pushButton2停止定时器  }   void QtDemo2::mystartTimer() {     Timer_id = startTimer(1000);  //启动定时器,超时为1秒 }     void QtDemo2::mystopTimer() {      killTimer(Timer_id); //停止定时器 }   void QtDemo2::timerEvent(QTimerEvent *event) {    qDebug("timerEvent happen!!! :::%d\n",event-timerId());   //定时器超时时执行这里,期中event-timerId()可以得到超时的那个Timer_id }     (原文出处:http://www.embedhq.org,    转载请注明出处)   ------分隔线---------------------------- 上一篇:C语言中extern关键字详解 下一篇:Qt多国语言(国际化)问题小结
  • 热度 12
    2013-6-3 15:08
    765 次阅读|
    0 个评论
    作者:嵌入式学院武汉华嵌中心 讲师 李家凯   引言:目前,Qt作为图形开发软件使用的人群越来越多,很多公司的产品有多国语言支持的需求,笔者就教学与项目开发中的经历,小结了Qt多国语言(国际化)问题,仅供参考。   假设我们已经建好一个工程,且可以运行出基本的界面。 1、打开项目工程文件QTDemo.pro,添加如下语句: TRANSLATIONS += en.ts zh_CN.ts zh_TW.ts   2、然后在命令行窗口中输入以下命令: lupdate QTDemo.pro 这样就生成了3个语言文件:en.ts,zh_CN.ts,zh_TW.ts   3、用linguist(在QT安装目录下的bin目录中)打开zh_CN.ts(简体中文),选择“编辑”-“翻译文件设置…”,选择Chinese/China:选中某一个字符串,在译文文本框 中输入对应于中文的字符串: 同理,进行zh_TW.ts(繁体中文)文件的翻译,en.ts(英文)文件不用翻译。   4、用 lrelease QTDemo.pro  将对应的.ts文件生成.qm文件,.qm文件比较紧凑、体积小。 5、在程序中添加对国际化的支持,将main.cpp修改为如下内容:       #include QApplication       #include QTranslator       #include "QtDemo.h"       int main(int argc, char **argv)       {          QApplication app(argc, argv);            //以下3句话是装载的程序          QTranslator translator;          translator.load(QString(argv ));          app.installTranslator(translator);            QtDemo *dlg = new QtDemo;          dlg-show();          return app.exec();       }       重新执行make命令,生成可执行程序。 在运行程序时通过传递命令行参数指定所使用的语言,注意不需要指定扩展名.qm,例如: ./QTDemo zh_CN  就出现中文的界面了,其他的依次类推。    (原文出处:http://www.embedhq.org, 转载请注明出处)     ------分隔线---------------------------- 上一篇:Qt4定时器使用详解 下一篇:Samba服务器目录和文件权限设置
相关资源
  • 所需E币: 5
    时间: 2019-12-26 10:51
    大小: 57.5KB
    上传者: 微风DS
    在Linux下用Qt开发新一代DTS图形数据系统的分析……
  • 所需E币: 3
    时间: 2019-5-26 09:34
    大小: 3.26MB
    上传者: royalark_912907664
    早产儿智能恒温鸟巢式水床,相比传统的恒温箱,能够更好的模拟母体子宫环境,给早产儿一个安全舒适的成长空间。基于S3C2440和DS18B20的恒温水床控制系统,以S3C2440作为数据采集单元,数字温度传感器DS18B20作为温度检测元件,通过QT开发,设计了智能友好的人机交互界面。引入了模糊自适应控制算法,建立PID控制数学模型,实现控制精度提高。整个系统设有温度报警装置,保证了早产儿水床系统的安全性和可靠性。