Qt Creator 使用技巧

From: http://www.developer.nokia.com/Community/Wiki/Qt_Creator_%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7

Qt Creator 使用技巧

简介

Qt Creator 作为Qt 开发的IDE,支持Qt 开发,及QML开发,能很好的发挥Qt 跨平台的特点,这里列举一些Qt Creator的使用技巧,

  • Qt Creator使用可参看视频:Qt Creator使用简介

代码浏览

在Edit view中很多快捷键,方便你定位到想要的代码。

F4 在头文件和代码之间切换
F2 在声明和实现之间切换
Ctrl + k 打开定位器(locator)
Ctrl + Shift + f 打开全局搜索框
Ctrl + f 打开当前页面搜索框
Ctrl + 鼠标滚轮 缩放代码

定位器(locator)

CreatorLocator.PNG
图:点击Ctrl + k 打开左下角的定位器,命令及功能记录在其中,无需记忆命令

在定位器中输入以下字符加空格,加你想查找的关键字,能在代码中快速定位,试一下。

p 查看当前项目的文件
c 查看类
m 查看方法
l 直接到选中的行号
? 使用帮助中的index

视频演示请看:视频


代码编辑

在Qt Creator 中点菜单栏中Tools->Options->Environment->keybord。

CreatorKeyboard.PNG
图:快捷键设置窗口,可以在Filter栏中输入关键字来定位要使用的功能或特定的键位

这里定义了Qt Creator中的快捷键,组合。可以根据自己的习惯来设定快捷键。合理利用快捷键,会大大提高开发的效率。 参看:高效编辑的七个习惯 ,值得一提的是Qt Creator 内置对Vim的支持,习惯使用Vim的朋友可以选着打开这项功能。 下面列举一些常用功能在Qt Creator的快捷键。

Ctrl + 空格 | 视频]
Ctrl + / 注释或取消注释
Alt + 回车 快速修复,如为头文件中的方法添加实现,或为实现添加头文件中声明,为字符串增加多语言支持等,试一下。
Ctrl + Shift +r 右键菜单’Refactor -> Rename‘,查找替换当前工程的 特定字符,可以使类名或方法名,方便重构操作。
选中几行代码点Tab 几行代码同时缩进。

断点调试

在代码编辑页面,点击行号前可以设置断点,运行Debug进入调试模式。支持方便的联机调试。下图演示运行Qt模拟器时,断点触发的效果。

CreatorDebugBreak.PNG
图:断点调试演示
  • 除了断点调试,还可以使用Qt的 QDebug类,输出Console信息,代码如下
#include <QDebug>qDebug()<<"some";
int count = 5;
qDebug()<<"a number"<<count;
QString str("a string");
qDebug()<<"a QString"<<str;

还可以很方便的使用qDebug获得log: 如何把qDebug输出重定向到一个文件 qDebug在Debug模式和Release模式下都会在Application Output窗口输出(Alt + 3),在各个平台,包括联机调试都可以输出,非常方便。

CreatorQDebug.PNG
图:qDebug的输出

平台管理

在Qt Creator 中点菜单栏中Tools > Options > Qt4

  • 在windows平台下平台配置文件存放在C:\Documents and Settings\<<your Acount>>\Application Data\Nokia\QtCreator.ini
CreatorPlatform.PNG
图:Option中的平台管理页面

项目管理

编译参数(Build)

编译设置界面,设置编译要进行的操作(Ctrl + Shift +B榔头按钮编译全部工程,Ctrl + B编译当前工程)。如下图所示,从上到下

  • 可以通过标签页选择当前工程,
  • 加减号可以增减目标平台种类(图中选中symbian平台),
  • 下拉框可以选择具体的平台及编译Debug或Release版
  • 可以在增加某一种类下的平台
  • Manage 管理平台
  • 平台及工程选择快捷按钮
CreatorBuild.PNG
图:Build设置页面注意图中标记的点用于指定当前的编译平台
  • 为Symbian平台编译生成sis文件,可如下定制命令
CreatorMakeSis.PNG
图:可自定义make sis命令来生成自签名的SIS包
CreatorSign.PNG
图:同样可以通过命令行指定签名证书和密钥
  • 编译时使用证书
CreatorSign.PNG
图:同样可以通过命令行指定签名证书和密钥
  • 生成未签名SIS包
CreatorUnSign.PNG
图:可以通过命令行去掉签名,得到未签名的SIS包

运行参数(Run)

在symbian平台的联机运行设置页面,如下图所示,注意未连接手机,或连接不正常是(连接状态显示红叉)运行不能成功,这时可选择Build页面的命令替代

  • 可以通过选项生成未签名的SIS包(提交symbian签名,或Ovi免费签名服务时需要)
  • 生成自签名的SIS包
  • 设置签名证书和密钥
  • 生成包含smartInstaller的SIS包
  • 部署到手机上并运行程序
CreatorRun.PNG
图:设置在Symbian平台运行前的操作

相关链接

  • Qt 开发

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406533.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu下实现eth0与wlan0完美桥接

操作系统Ubuntu14.04LTS 1.搭载网桥模块 sudo apt-get install bridge-utils安装软件包 modprobe bridge//网上参考步骤&#xff0c;加载网桥模块&#xff0c;实际未用 cho "1">/proc/sys/net/ipv4/ip_forward//网上参考步骤&#xff0c;开启Ip转发功能&#xff0…

前端利用CryptoJS进行AES对称加解密(16进制编码)

加密相关JS https://www.npmjs.com/package/crypto-js 引入JS 使用示例&#xff1a; 附上原文代码方便大家自由使用 //加密 let key CryptoJS.enc.Utf8.parse(123456789qwertyu);//密钥必须是16位&#xff0c;且避免使用保留字符 let encryptedData CryptoJS.AES.encry…

RTMPT

转自http://www.openred5.com/bbs/viewthread.php?tid196 英文原地址&#xff1a;http://www.joachim-bauch.de/tutorials/red5/SPEC-RTMPT.html/view 等一段时间后我也去整理一个出来&#xff0c;因为现在还没有用到rtmpt&#xff0c;只用到rtmp和rtmpe&#xff0c;所以没有时…

前端学习(3339):ant design中加上icon图标

当需要在 Button 内嵌入 Icon 时&#xff0c;可以设置 icon 属性&#xff0c;或者直接在 Button 内使用 Icon 组件。 如果想控制 Icon 具体的位置&#xff0c;只能直接使用 Icon 组件&#xff0c;而非 icon 属性。 ReactDOM.render(<div><Button type"primary&qu…

Hello Qt(在Linux下编写运行Qt程序)

From: http://www.yafeilinux.com/?p763 <一>Hello Qt小试牛刀&#xff01; 说明&#xff1a;我们需要在Linux下已经安装了Qt。 1.下面是整个程序的详细介绍&#xff1a; #include <QApplication> //第一行是定义一个应用程序类<QApplication>的头文件&…

git pull提示当前branch没有跟踪信息

在执行git pull的时候&#xff0c;提示当前branch没有跟踪信息&#xff1a; git pull There is no tracking information for the current branch. Please specify which branch you want to merge with.对于这种情况有两种解决办法&#xff0c;就比如说要操作master吧&#x…

触发器三(行级DML触发器)(学习笔记)

行级DML触发器 每当一条记录出现更新操作时进行触发操作定义时要定义FOR EACH ROW 使用":old.字段"和":new.字段"标识符 No.触发语句 :old字段:new字段1INSERT 未定义&#xff0c;字段内容为NULLINSERT操作结束后&#xff0c;为增加数据值2UPDATE更新数据…

解开 Windows 下的临界区中的代码死锁(转)

摘要 临界区是一种防止多个线程同时执行一个特定代码节的机制&#xff0c;这一主题并没有引起太多关注&#xff0c;因而人们未能对其深刻理解。在需要跟踪代码中的多线程处理的性能时&#xff0c;对 Windows 中临界区的深刻理解非常有用。 本文深入研究临界区的原理&#xff0c…

用Python和Pygame写游戏-从入门到精通(1)

From: http://eyehere.net/2011/python-pygame-novice-professional-1/ 博客刚开&#xff0c;打算做一个Pygame的系列&#xff0c;翻译自Will McGugan的《Beginning Game Development with Python and Pygame –From Novice to Professional》&#xff0c;有兴趣的朋友可以搜一…

解决el-select后台一次返回大数据量渲染慢导致页面卡顿的问题

场景一 解决了一次性渲染大量数据问题 业务场景是后台一次返回10万多条数据需要在下拉框中展示,直接渲染会导致页面卡顿且需要很长时间等待,用户体验极差,所以我把这个改造了一下,直接上代码, 里面注释写的很清楚了就不解释了. <template><div class"content&q…

c++ primer 笔记 (二)

第二章笔记 &#xff08;貌似记得有点多&#xff09; 把负值赋给unsigned对象时完全合法的&#xff0c;其结果是该负数对该类型的取值个数求模后的值 -1 &#xff08;对265求模&#xff09; 255float型只能保证6位有效数字&#xff0c;而double型至少可以保证10位有效数…

c#按ESC退出 或者接受其他键盘消息

From: http://blog.csdn.net/chenshizero/article/details/2173443 先将窗口的KeyPreview设置为true,然后再在窗口的KeyPressUp事件中写代码就可以了 private void Form1_KeyUp(object sender, KeyEventArgs e){if(e.KeyValue 27)//if (e.KeyData Keys.Escape)Application.Ex…

在诺基亚S60v3上运行.NET程序

诺基亚手机采用的几乎都是Symbian OS操作系统。而.NET Framework则是Windows平台的专利&#xff0c;因此.NET程序只能运行在使用Windows Mobile系统的手机上。那么Symbian OS是否就没法运行.NET程序了呢&#xff1f; 答案是否定的。RedFiveLabs一直致力于在Symbian OS上实现.NE…

React开发(162):React关于 this.props.children 总结

this.props.children 的值有三种可能&#xff1a; 如果当前组件没有子节点&#xff0c;它就是 undefined ; 如果有一个子节点&#xff0c;数据类型是 Object&#xff1b; 如果有多个子节点&#xff0c;数据类型就是 Array。

GIT提交的时候出现 ! [rejected] master -> master (non-fast-forward)错误

搜了好久&#xff0c;才找到一个能用的&#xff0c;上面的大概意思是本地库和远程库没有同步导致无法提交合并&#xff0c;那么找到原因了就好办了&#xff0c;只要将本地库和远程库同步就可以了。 git pull origin master --allow-unrelated-histories 或 git pull origin re…

响应式布局---菜单

一个简单的响应式菜单,仅使用media query实现. 上图的作用就是将普通的菜单在缩小浏览器屏幕到一定宽度,或者是在移动设备上的显示效果.现在分步进行实现: 第一步:先构建一个普通的菜单,具体显示如图: 结构如下: <nav class"nav"><ul><li class"…

C# 窗口全屏 隐藏任务栏 (代码)

From: http://blog.csdn.net/mask_of_zorro/article/details/2351091 为了解决C# Windows应用程序全屏显示&#xff0c;在网上找了很多解决方法。当然其中也有成功的方法&#xff0c;但看起来复杂且对我等菜鸟级的人来说更难于理解。其中发现以下几行代码实现真正的全屏显示&a…

Linux管理磁盘配额

&#xff21;、磁盘配额作用限制普通用户使用磁盘空间&#xff0c;不至于因为个别人的浪费而影响到其它人的正常使用&#xff1b;<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />&#xff22;、需要内核的支持&#xff1b;&…

Element el-row el-col 布局组件详解

本文目录 背景分栏布局分栏间隔分栏偏移对齐方式响应式布局小结 1. 背景 element的布局方式与bootstrap原理是一样的&#xff0c;将网页划分成若干行&#xff0c;然后每行等分为若干列&#xff0c;基于这样的方式进行布局&#xff0c;形象的成为栅栏布局。 区别是element可…