- 浏览: 238057 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
wahahachuang8:
GoEasy 实时推送支持IE6-IE11及大多数主流浏览器的 ...
服务器推送技术 java -
mahuanjian:
[flash=200,200][/flash]
服务器推送技术 java -
wenjundiandian:
下面有网页编辑器的话还是会被隐藏.
ext中消息框、提示框、确认框显示在最前面的解决方法 -
天塔上的猫:
/**
* JAVA常见的权限控制算法的实现
*
* ...
JAVA常见的权限控制算法的实现
摘要:
由于工作的关系,作者有幸接触了QT,并开发了一个小软件;作者之前并没有做过上位机的程序,也是第一次使用QT,中间遇到过很多的问题,在这里记录下来,主要是一些对象的应用和需要注意的地方,供大家参考。
介绍:
1、QT Creator设置
(1)、库路径及编译器路径设置
:/opt/FriendlyARM/toolschain/4.5.1/bin
(2)、代码补全快捷键设置
QT有代码补全功能,默认的快捷键是ctrl+空格,但这与输入法有冲突,所以需要修改一下,这里我改为alt+/。
2、利用QT Designer来加速设计
的确,对于新手来说,用qt designer来设计窗体是最容易上手不过了,我也是这样做的,但很多时候,需要一些动态的显示,或者需要通过一些事件来改变窗体,那么则需要用代码来完成了。
比如说,让窗体最大化显示,或者隐藏标题栏,或者更改某一个对象的属性
this ->setWindowFlags(Qt::FramelessWindowHint); //隐藏标题栏 this ->showMaximized(); //最大化显示 ui->statusBar->showMessage(tr( "这里是状态栏!" )); ui->pushButton_stop->setEnabled( false ); //禁用掉UI里的button |
还有,如果要动态显示一些对象,而你又不知道代码如何写,则你可以先用qt designer编辑,然后再将代码复制过来,再修改。这样,对于新手来说,比重写代码要容易下手多了。
3、close事件过滤
/******************************************************************** Function :closeEvent Parameter : return : none Called by : Description: close()事件过滤 ********************************************************************/ void MainWindow::closeEvent(QCloseEvent * event ) { //如果设备打开== if (HostMod.isopen){ QMessageBox::StandardButton button; button = QMessageBox::question( this , tr( "退出程序" ), QString(tr( "警告:退出程序将强制关闭设备,您确定要继续吗?" )), QMessageBox::Yes | QMessageBox::No); if (button == QMessageBox::No) { event ->ignore(); //忽略退出信号,程序继续运行 } else if (button == QMessageBox::Yes) { event ->accept(); //接受退出信号,程序退出 } } } |
4、QMessageBox用法
QMessageBox是信息对话框,用来提示信息和警告,它有很多类型,这里简单介绍两种,其它的大家可以看help
QMessageBox::critical( this , tr( "打开失败" ), tr( "未能找到设备 " ), QMessageBox::Close); QMessageBox::information( this , tr( "提示" ), tr( "参数设置成功!" ), QMessageBox::Ok); |
5、定时器用法
#define TIMER_INTERVAL 100 // ms ........ timer1 = new QTimer( this ); connect(timer1, SIGNAL(timeout()), this , SLOT(uart_send_data_event())); //开启串口发送监听定时器, timer1->start(TIMER_INTERVAL); ........ //timer1超时后就会触发这里 void pth6200_app::uart_send_data_event() { } |
6、QTimeEdit和QSpinBox用法
setting_widget::setting_widget(QWidget *parent) : QWidget(parent), ui( new Ui::setting_widget) { ui->setupUi( this ); //限制时间范围 QTime max_t(0,8,0); ui->timeEdit_zhenkong_timer->setMaximumTime(max_t); ui->timeEdit_heikong_timer->setMaximumTime(max_t); QTime min_t(0,2,0); ui->timeEdit_zhenkong_timer->setMinimumTime(min_t); ui->timeEdit_heikong_timer->setMinimumTime(min_t); connect(ui->timeEdit_zhenkong_timer, SIGNAL(timeChanged( const QTime &)), this , SLOT(SetParisChanged_Time( const QTime &))); connect(ui->spinBox_zk_temper, SIGNAL(valueChanged( int )), this , SLOT(SetParisChanged( int ))); connect(ui->timeEdit_heikong_timer, SIGNAL(timeChanged( const QTime &)), this , SLOT(SetParisChanged_Time( const QTime &))); connect(ui->spinBox_hk_temper, SIGNAL(valueChanged( int )), this , SLOT(SetParisChanged( int ))); } ....... tvalue=1000; //s QTime t1((t_value/3600)%60,(t_value/60)%60,t_value%60); //转换 tvalue=1314; //s QTime t2((t_value/3600)%60,(t_value/60)%60,t_value%60); //转换 //显示时间 ui->timeEdit_zhenkong_timer->setTime(t1); ui->timeEdit_heikong_timer->setTime(t2); // //显示温度 ui->spinBox_zk_temper->setValue(device_par[1].temper); ui->spinBox_hk_temper->setValue(device_par[4].temper); ........ //获取时间和温度值 //时间 QTime t1=ui->timeEdit_zhenkong_timer->time(); //获取当前值 device_par[1].time=(t1.hour()*3600+t1.minute()*60+t1.second()); QTime t2=ui->timeEdit_heikong_timer->time(); //获取当前值 device_par[4].time=(t2.hour()*3600+t2.minute()*60+t2.second()); device_par[1].temper=ui->spinBox_zk_temper->value(); //获取当前值 device_par[4].temper=ui->spinBox_hk_temper->value(); //获取当前值 |
在qt designer里设置QSpinBox属性
7、使用布局管理器时,如何设置对象的大小
在UI编辑器中,如果不用布局管理器,则界面不会随屏的大小变化而自动调整,同时,手动调整对齐也不具有科学性;但用了布局管理器后,却发现,先前调整的按钮大小,给改变了,而且怎么拖也拖不大。原来是布局管理器自动的给你调整了大小。但如何让我的按钮变大一点呢,这里只能通过minimum和 maximum来设置,这样,布局管理器在调整对象的大小时,就会保持在这个范围。
之前为这个问题郁闷了很久,后来才发现,原来这么简单。
8、QT里如何显示中文
(原创)QT 4.7支持中文(QT4.7)(中文)(makeqpf)
9、QT里如何调用外部脚本程序
(原创)如何在QT下执行shell或外部程序(QT4)(shell)(mini6410)(smplayer)
10、QT中stylesheet用法
(原创)QT Creator的style sheet的几种用法(QT Creator)(StyleSheet)(样式)(QT4.7)(用法)
结语:
一个人独自摸索确实有很大的难度,再加上之前并没有做过上位机开发,所以有些概念很难理解,还好我坚持不懈,不断的找资料,看文档,终于算是搞清了门路。在资料方面,还是要看help,这样来得直接,来得快。
来源:http://www.cnblogs.com/liu_xf/archive/2011/08/30/2159298.html
发表评论
-
qtwebkit中js事件的正确写法。
2012-08-15 09:50 980<script language="JavaS ... -
qtwebkit截图
2012-08-13 13:29 805QSize size = m_view->page()- ... -
Qt 中一些常用类的中文说明
2012-02-22 23:39 1080作者:丁冬,华清远见嵌 ... -
输入法
2012-01-04 18:00 0http://civilnet.cn/syszux/syszu ... -
QT启动前有绿屏怎么处理
2012-01-04 09:49 1257笑看人生pual(13290889) 16:32:27QT启动 ... -
QT实现截取屏幕
2012-01-04 09:48 1199本文阐述了一个在Qtopia下截取屏幕的方法,实际上Qtopi ... -
在QT中通过摄像头动态显示图片 .
2012-01-04 09:49 1925Camgui::Camgui(QWidget *parent, ... -
脚本打包大量文件学习
2011-12-19 09:33 781TARGET_DIR=$PWDcd /list=`cat &l ... -
QT 同时支持鼠标和触摸屏
2011-12-17 12:36 1667现在 如果我要使用鼠标导入环境变量export QWS_M ... -
Qt中Qstring,char,int,QByteArray之间到转换
2011-12-17 12:31 1154各种数据类型的相互转换char * 与 const char ... -
QT Creator的style sheet的几种用法(QT Creator)(StyleSheet)(样式)(QT4.7)(用法)
2011-12-10 20:16 1863摘要: QT Create中,对butt ... -
QT 4.7支持中文(QT4.7)(中文)(makeqpf)
2011-12-10 20:16 2054摘要: QT4.7.0在移植到开发板上的 ... -
QImage变暗
2011-12-16 14:50 1086_image = QPixmap::grabWindow ... -
Qt/Embedded动态旋转屏幕
2011-12-10 20:16 1114距离上次发博文已经有 ... -
如何在QT下执行shell或外部程序
2011-12-10 20:17 1995摘要: 通常,我们运行shell程序都是在终端里进行的, ... -
linux嵌入式qt的屏幕旋转与字体大小问题
2011-12-16 14:50 2395【1、与qt程序显示文字大小有关的两项】 export ... -
改变QMessageBox的大小
2011-12-16 14:50 1014创建一个QMessageBox: QMessageBox m ... -
QT坐标变换
2011-12-09 09:18 1043------------------------------ ... -
QT画对话框窗口圆角
2011-12-09 09:16 1550QPainterPath path; QRectF rec ... -
QT工程中使用图片的三种方法
2011-12-09 09:03 1085图片是一种资源,而在Qt中,对于资源的使用是有其独特的方式的! ...
相关推荐
QT 4.7 API是Qt库的一个重要版本,它提供了丰富的功能和工具,使得开发者能够构建跨平台的图形用户界面应用程序。Qt是一个广泛使用的开源框架,最初由Trolltech开发,后来被Nokia收购,并最终成为The Qt Company的一...
### Qt学习笔记知识点详解 #### 一、从Hello Qt开始 **知识点1:Qt程序的基本结构** - **头文件引入**: - 第1行和第2行代码中,`#include <QApplication>` 和 `#include <QLabel>` 是引入Qt中的两个类:`...
在介绍QT4.7的安装配置及错误分析之前,首先要了解QT4.7是什么,它是一个跨平台的C++应用程序框架,广泛用于开发具有图形用户界面的应用程序,同时也支持开发非GUI程序,比如命令行工具和服务器。QT4.7的发布版本为...
现代OpenGL+Qt学习笔记之二:程序框架http://blog.csdn.net/chaojiwudixiaofeixia/article/details/77917697源码。
QT4.7是Qt库的一个重要版本,由挪威公司Trolltech开发,后来被诺基亚收购。这个版本详尽地介绍了Qt的历史、组件以及在不同操作系统上的应用。以下是关于QT4.7的详细解说: 1. **Qt的历史**: - 1991年由Haavard ...
QT4.7是一个非常重要的版本,它是Qt库的第四大主要版本,专注于提供跨平台的图形用户界面(GUI)开发工具。这个版本包含了丰富的示例和教程,帮助开发者理解和掌握Qt库的功能。"qt4.7 例子源码"这个压缩包显然包含了...
### Linux 嵌入式QT学习笔记 #### 一、信号与槽机制 信号与槽是QT框架中非常核心的概念之一,它为图形用户界面(GUI)应用程序提供了一种灵活而强大的事件处理机制。 ##### 1. 信号与槽的基本概念 - **信号(Signal...
QT4.7是一个针对Linux平台的图形用户界面库,它为开发者提供了丰富的API来构建桌面及嵌入式系统的应用程序。这个压缩包包含的是为Linux开发板编译的QT4.7库,特别是针对ARM架构的非Linux标准环境(通常称为arm-none-...
### QT学习笔记_经验篇 #### 一、初识QT及环境配置 ##### 环境检查与安装 - **检查RedHat自带QT库** - **路径**: `/usr/lib/qt-3.1` - **操作**: 查看`qt3-1`目录下是否有13个文件,如果没有,需通过以下步骤...
在“qt.rar”这个压缩包中,包含的是关于QT学习的资源,特别是个人的学习笔记和项目体会,对于初学者来说是宝贵的参考资料。以下将详细讲解QT学习中的一些关键知识点: 1. **Qt基础知识**:Qt的核心是信号与槽机制...
qt commercial 4.7 qt 商业版 4.7 种子文件 包括keygem 文件
QT 4.7商业版是Qt库的一个重要版本,它是由 Trolltech 公司开发,后来被诺基亚收购,并成为其重要的软件开发工具。Qt 是一个跨平台的应用程序开发框架,广泛应用于桌面、移动设备和嵌入式系统,支持Windows、Linux、...
4. **QT4.7新特性**: - **QML**:Qt 4.7引入了Qt Quick(QML),这是一种声明式的UI设计语言,使得创建动态和富有表现力的用户界面变得更为简单。 - **OpenGL加速**:这一版本加强了对OpenGL的集成,提升了图形...
在学习QT的过程中,我们需要掌握其基本概念和常用技术。以下是根据给定文件内容整理的一些知识点: 1. Qt简介:QT是一个完整的C++应用程序框架。它提供了丰富的类库和工具来创建跨平台的应用程序。QT不仅包含GUI...
QT4.7是一个古老的版本,它是Qt库的一个里程碑,提供了丰富的功能用于开发跨平台的图形用户界面应用程序。在这个环境中创建的扫雷游戏,是利用Qt的C++接口和图形库来实现的。让我们深入探讨一下这个项目可能涉及的几...
Qt4.7是这个库的一个版本,发布于2010年,提供了许多新特性和改进,对于学习和理解Qt编程至关重要。这个版本包含了丰富的示例(Demos),展示了Qt库的各种功能和用法。 **Qt4.7的Demo详解** 1. **基本控件...
编译好的Qt4.7 还需要一个脚本配置一下就可以使用了,在tiny6410上验证过,脚本本人资源中有 交叉编译链4.5.1
这篇QT学习笔记主要涉及了在Linux环境下使用QT进行C++编程的基础步骤和常见问题的解决。 首先,笔记介绍了如何检查系统是否已经安装了QT库。在RedHat系统中,可以通过查看/usr/lib/qt-3.1目录是否存在13个文件来...
**基于Qt4.7的图片浏览器详解** Qt4.7是一个功能强大的跨平台应用程序开发框架,由Nokia公司开发,现由The Qt Company维护。它提供了丰富的API和工具,使得开发者能够轻松创建出具有现代图形用户界面的应用程序,...