一.国际化 国际化的英文表述为Internationalization,通常简写为I18N(首尾字母加中间的字符数),一个应用程序的国际化就是使该应用程序可以让其他国家的用户使用的过程. Qt支持现在使用的大多数语言,特别是: 所有东亚语言(汉语.日语和朝鲜语): 所有西方语言(使用拉丁字母): 阿拉伯语: 西里尔语言(俄语和乌克兰语等): 希腊语: 希伯来语: 泰语和老挝语: 所有在Unicode5. 1中不需要特殊处理的脚本. 在Qt中,所有的输入部件和文本绘制方式对Qt所支持的所有语言都提…
Qt Creator 是一个跨平台的.完整的 Qt 集成开发环境,其中包括了高级C++代码编辑器.项目和生成管理工具.集成的上下文相关的帮助系统.图形化调试器.代码管理和浏览工具等.这一章先对 Qt Creator 的下载安装和界面环境进行简单介绍,然后打开并运行一个 Qt 示例程序来让读者了解 Qt Creator 的基本使用方法,其中会重点介绍帮助模式的使用.Qt Creator 其他功能可以参考 Qter 开源社区书籍页面相应的网络教程. 一.Qt Creator 的下载与安装 这里的主要…
一.编写 Hello World Gui程序 Hello World程序就是让应用程序显示"Hello World"字符串.这是最简单的应用,但却包含了一个应用程序的基本要素,所以一般使用它来演示程序的创建过程.本节要讲的就是在Qt Creator中创建一个图形用户界面的项目,来生成一个可以显示"Hello World"字符串的程序. 1.1 新建 Qt Gui 应用 (1)运行 QtCreator,打开"文件一新建文件或项目"菜单项(也可以直接…
对于日常见到的应用程序而言,许多都是基于主窗口的,主窗口中包含了菜单栏.工具栏.状态栏和中心区域等.这一章会详细介绍主窗口的每一个部分,还会涉及资源管理.富文本处理.拖放操作和文档打印等相关内容.重点是讲解知识点,而相关的综合应用实例放到了<Qt及Qt Quick开发实战精解>一书中. Qt中提供了以QMainWindow类为核心的主窗口框架,包含了众多相关的类,它们的继承关系如下图所示,本章会讲解到图中每一个类的基本应用. 一.主窗口框架 主窗口为建立应用程序用户界面提供了一个框架,Qt提供…
一个完善的应用程序不仅应该有实用的功能,还要有一个漂亮的外观,这样才能使应用程序更加友好,更加吸引用户.作为一个跨平台的UI开发框架,Qt提供了强大而灵活的界面外观设计机制.这一章将学习在Qt中设计应用程序外观的相关知识,会对Qt风格QStyle和调色板QPalette进行简单介绍,以及介绍不规则窗体和透明窗体的实现方法. 一.Qt风格 Qt中的各种风格是一组继承自QStyle的类.QStyle类是一个抽象基类,封装了 一个GUI的外观,Qt的内建(built-in)部件使用它来执行几乎所有的绘…
从这一章开始正式接触Qt的窗口部件.在第2章曾看到 Qt Creator 提供的默认基类只有 QMainWindow.QWidget 和 QDialog 这3种.QMainWindow 是带有菜单栏和工具栏的主窗口类,QDialog 是各种对话框的基类,而它们全部继承自 QWidget.不仅如此,其实所有的窗口部件都继承自 QWidget,如下图所示.这一章会讲解 QWidge.QDialog 和其他一些常用部件类, 而 QMainWindow 将在第5章讲解. 一.基础窗口部件 QWidget…
第3章讲述了一些窗口部件,当时往界面上拖放部件时都是随意放置的,这对于学习部件的使用没有太大的影响,但是,对于一个完善的软件,布局管理却是必不可少的. 无论是想要界面中部件有一个很整齐的排列,还是想要界面能适应窗口的大小变化,都 要进行布局管理.Qt中主要提供了 QLayout 类及其子类来作为布局管理器,它们可以实现常用的布局管理功能,QLayout及其子类的关系如下图所示. 一.布局管理系统 Qt的布局管理系统提供了简单而强大的机制来自动排列一个窗口中的部件,确保它们有效地使用空间.Qt包含…
一 Qt简介 Qt 是一个跨平台的C++应用程序框架,支持Windows.Linux.Mac OS X.Android.iOS.Windows Phone.嵌入式系统等.也就是说,Qt 可以同时支持桌面应用程序开发.嵌入式开发和移动开发,覆盖了现有的所有主流平台.你只需要编写一次代码,发布到不同平台前重新编译即可. Qt 不仅仅是一个GUI库,它除了可以创建漂亮的界面,还有很多其他组件,例如,你不再需要研究STL,不再需要C++的<string>头文件,不再需要去找解析XML.连接数据库.So…
Qt官方信息 Qt官网:http://qt.digia.com/ Qt开源官网:http://qt-project.org/ Qt最新版本下载:http://qt-project.org/downloads Qt所有版本下载:ftp://ftp.qt-project.org/qt/source/ Qt Creator所有版本下载:ftp://ftp.qt-project.org/qtcreator/ 一.Qt与Qt Creator简介 Qt是一个跨平台应用程序和 UI 开发框架.使用 Qt 您只…
ui中的类,这样使用无法通过调试: Ui::Dialog ui(&w); w.show(); 而需要改成: Ui::Dialog ui; ui.setupUi(&w); w.show(); Dialog包含ui类为私有成员,在Dialog的构造函数中添加了一些操作,在main函数使用下面的代码,调试时构造函数中的操作并没有执行,难道还需要一些启动命令?? Dialog ui(&w); w.show(); 使用at()比[]下标要快,因为它不会引起深拷贝. QT的字符串格式化输出:…
一 窗口部件 基础窗口部件QWidget类是所有用户界面对象的基类,窗口和控件都是直接或间接继承自 QWidget,下面我们来看一个很简单的例子: 窗口部件(Widget)简称部件,是QT中建立界面的主要元素,QT中把没有嵌入到其他部件部件成为窗口,一般的窗口都有边框,标题栏,窗口是指程序的整体界面,可以包含标题栏.菜单栏.工具栏.关闭按钮.最小化按钮.最大化按钮等:控件是指按钮.复选框.文本框.表格.进度条等这些组成程序的基本元素.一个程序可以有多个窗口,一个窗口也可以有多个控件.(但其实控件…
一   信号和槽 GUI 程序除了要绘制控件,还要响应系统和用户事件,例如重绘.绘制完成.点击鼠标.敲击键盘等.当事件发生时,UI 会产生相应的变化,让用户直观地看到. 大部分编程(例如Win SDK.Web前端)中使用回调函数来响应事件,而 Qt 却独创了信号和槽机制.所谓回调函数,就是程序员提前定义一个函数,当事件发生时就调用该函数. 信号和槽是Qt的核心,它让两个互不相干的对象连接起来,当一个对象的状态改变时,可以通知另一个对象. 我们先通过例子来演示一下信号和槽: 具体的代码: #inc…
Qt-4.6动画Animation快速入门三字决 Qt-4.6新增了Animation Framework(动画框架),让我们能够方便的写一些生动的程序.不必像以前的版本一样,所有的控件都枯燥的呆在伟大光荣的QLayout里,也许它们可以唱个歌,跳个舞.    所谓动画就是在一个时间段内的不同时间点有不同的状态,只要定义好这样状态,实现动画就是水到渠成的事情.当然做这件事情,最好用的就是状态机,没错Qt-4.6.0提供了QStateMachine类,不过今天我要讲的三字决要简单一些. 第一决:Q…
首先必须明确的是,Qt中的线程使用是相对复杂的,并不像C#中那么随意,特别是结合串口.网络编程等,使用时稍有不慎就会出问题,然后Qt里面经常出了问题就直接崩溃(这个真是谁用谁知道),所以如果在功能上用异步方式能做到其实就没必要自己去开线程,当然如果自己写的函数比较耗时(比如不断地循环做操作之类的)就无法避免使用线程了. Qt中一般将耗时操作单独放在一个类中实现,在主线程中创建类对象,然后将这个对象移到子线程中,主线程与子线程间的通信主要通过信号和槽实现.另外对象是在主线程中创建的,对象中的成员都…
信号和槽主要用于组件之间的通信,类似于.net和java中的委托. 使用QObject::connect方法将信号与槽关联起来,然后信号的发起者发出信号,接受者中的槽函数就会执行. 比如connect(this,SIGNAL(start()),worker,SLOT(Start())),将当前类中start信号关联到worker对象的Start函数,当我们调用emit this->start()时就发出信号,槽函数就会收到这个信号. connect函数还有第五个参数,这个参数决定信号何时传给槽,…
C++中使用qml对象,直接使用findChild获取qml对象,然后调用setProperty方法设置属性,当然必须在加载qml之后才能使用,不然findChild找不到对象,用法如下. engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); QObject * text_Msg = engine.rootObjects()[]->findChild<QObject*>("text_Msg"); t…
Qml里面布局主要有两种,锚点布局.Grid布局. 锚点布局使用anchors附件属性将一个元素的边定位到另一个元素的边,从而确定元素的位置和大小.下面是示例 import QtQuick 2.3 import QtQuick.Window 2.0 Window { id:anchorLayoutWindow; ; ; title: "AnchorLayout"; Rectangle{ id:rect1; width: parent.width; ; color:"blue&…
博主是一个java后端程序员小白,前端技术会用但不精通,做后台的一些功能经常要涉及表格的展示,分页,搜索,排序等等一系列功能,在经历了一段时间的原始手段,开始接触并使用Datatables,一个jquery表格插件,上手很快,重点是超级好用,有完善的中文文档,今天有空,整理一下Datatable的一些使用方法及注意事项,以便随时查阅. DataTables支持的功能: 1.分页,只需要返回符合规范的数据类型,Datatable能帮我们实现好用的分页,同时支持排序,和即时搜索. 2.丰富的数据源的…
本文基于Qter开源社区论坛版主yafeilinux编写的<Qt快速入门系列教程目录>,网址:http://bbs.qter.org/forum.php?mod=viewthread&tid=193.参考书为基于该系列教程<Qt Creator快速入门>和<Qt及Qt Quick开发实战精解> 1.关联Qt库.如果是分别安装的Qt Creator和Qt库,而不是安装集成Qt Creator和Qt库的SDK,则需要手动关联Qt库.打开工具→选项菜单,然后选择“构建…
Qt Creator快速入门(第3版) [霍亚飞著] 完整pdf扫描版[92MB] 附随书源码,资源收集于网络,供参考 https://pan.baidu.com/s/1pLQdIUR kjaf http://www.jisoupan.com/share/2040847.html QT初级到高级编程视频教程--丁林松.rarhttp://www.jisoupan.com/share/2040847.html https://pan.baidu.com/s/1pKwnk3D————————————…
小北师兄作品 首发于微信公众号 小北师兄 微信 ID: ncuneupa 由于排版原因,文章可能读起来不太清晰,如果想看更好的排版,可以来我的公众号:小北师兄 大家好,我是你们的小北师兄,由于工作原因,最近师兄在自学 Qt 相关知识,说起来师兄在校期间是研究算法的,一般都是纯 C++ 来实现 当时电脑环境以 Linux 发行版 Ubuntu 为主,到了工作中就转向了 Windows,刚开始确实有一些不太习惯,在 Windows 上配置环境一般比较繁琐,而且有些问题网上还不容易找到 下面进入正题,…
Qt Creator中的3D绘图及动画教程(参照NeHe) http://blog.csdn.net/cly116/article/details/47184729 刚刚学习了Qt Creator,发现Qt提供了QtOpenGL模块,对OpenGL做了不错的封装,这使得我们可以很轻松地在Qt程序中使用OpenGL进行绘图渲染.虽然里面还是由不少专业的解释照搬原文的,但还是加入了大量自己的分析.而且Qt中写OpenGL框架上比VC简单太多了,有不少东西都封装优化好了,代码上还是由有很多区别的.当然…
目录[-] 1.安装Qt Creator和基础构建环境(以Ubuntu为例): 2.把自动完成快捷键"Ctrl+空格"改为"Alt+/"或者"Shift+Return"(Return表示Enter键) 3.在Qt Creator中使用make构建,运行,调试通用C/C++项目 4.在Qt Creator中使用cmake构建,运行,调试通用C/C++项目 5.Qt Creator会自动识别系统中安装的gcc.g++.gdb.make.cmake.v…
目录 1. 前言 2.前提条件 3.步骤 3.1 新建 python文件 3.2 编写 python 代码 3.3 配置 python 解释器 3.4 执行 python file 1. 前言 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.python 有众多第三方库, 可以方便的快速方法各种应用. Qt Creator 是用于编译 C++ 代码的 IDE. 2.前提条件 安装 python2.7,安装 Qt Creator. 3.步骤 3.1 新建 python文件 打开…
目录 coding-style.html 提交代码 二进制兼容性和源代码兼容性 代码构造 格式化 利用标识符 空格 大括号 圆括号 换行符 声明 命名空间 模式与实践 命名空间 传递文件名 插件扩展点 使用全局对象池 C++特征 C ++ 11和C ++ 14功能 使用QObject 文件头 包含头文件 Casting 编译器和平台特定的问题 美学 从模板或工具类继承 继承与聚合 公共头文件的约定 类成员名称 文档 coding-style.html 代码规范很重要,这决定了编码风格的统一.如果…
前提:我用mingw编译的qwt. 将qwt插件集成到qt designer非常easy.仅仅要把qwt编译的qwt_designer_plugin.dll复制到C:\Qt\Qt5.3.1\5.3\mingw482_32\plugins\designer以下就可以.安装路径因人而异.但假设想要在qt creator中的designer集成qwt插件的话就没那么easy了,拷贝了qwt_designer_plugin.dll到C:\Qt\Qt5.3.1\Tools\QtCreator\bin\pl…
有时候需要自己编译Qt Creator,需要注意的就是qmake版本的问题,比如我用4.8.1和4.8.6同样编译出来的Qt Creator在同样的qtconfig-qt4下所呈现的效果是不一样的. 另外,如果下载官方预编译版的话,可以看到『关于Qt Creator』这里,他们都是用Qt 5以上的版本来编译比较新的Qt Creator,往往会出现一些兼容问题,这些都是需要注意的. 另外我还研究了下Qt 4在/usr/bin下qmake的生成方式,发现Qt很巧妙的运用了busybox的特性,将所有…
继上次重载operator new检测内存泄漏失败之后,妥协了.决定不管是否是准确指明哪一行代码出现内存泄漏,只要告诉我是否有泄漏就行了,这样就没有new替换的问题.在开发中,总是一个个小功能的开发.如果开发完一个小功能告诉我有内存泄漏,那想必也是比较容易找的. 这次的想法是重写operator new,然后每次new的时候记录一下地址及申请内存的大小,释放时删除记录.这样,程序结束时剩余的记录就是泄漏的了.记录的数据结构首选STL的map.结果,在记录时,map需要申请内存,调用new,new…
OpenCV编译以及QT Creator配置 在进行编译前,需下载以下工具和源码: CMake ---- 用于编译: 下载地址; https://cmake.org/ 安装在D:\Program Files\CMake: 注意安装的路径不能有中文或者空格,在安装过程中,勾选所有环境变量: OpenCv 3.40 ------源码下载地址: https://github.com/opencv/opencv/releases/tag/3.4.0 解压放在任意位置: QT 5.9.4 --------…
采用Qt和Qt creator分别下载和安装的方式:(需要手动设置关联Qt和Qt Creator)   一.软件下载 从http://qt-project.org/downloads分别下载Qt和Qt Creator: Qt使用4.7.2版本:qt-win-opensource-4.7.2-mingw.exe Qt Creator使用2.1.0版本:qt-creator-win-opensource-2.1.0.exe   二.软件安装 1.先安装Qt Creator. 运行qt-creator…