摘要:
原地址:http://blog.csdn.net/foruok/article/details/17715969在一个跨平台( Android 、Windows、Linux )项目中配置文件用 INI 格式,自己写了个解析库,纯C语言的,简单好用。 可以解析 INI 格式的字符串、解析文件、保存到文件。 下面是头文件:[cpp]view plaincopy#ifndefINI_PARSER_H#defineINI_PARSER_H#ifdef__cplusplusextern"C"{#endifstructtag_value_list;structini_parser{st 阅读全文
摘要:
原地址:http://blog.csdn.net/foruok/article/details/17796017今天为了测试使用 Qt Creator 3.0.0 开发的纯 C 工程,利用了Windows 下 Qt 5.2 for Android 开发入门里创建的 HelloAndroid 工程,想把纯 C 工程生成的 so 库加到 HelloAndroid 工程中。结果加入进去了,但不会自动拷贝到生成目录打包进 APK 。 研究了一个小时,大体搞明白了 Qt Creator 生成 APK 的流程。 首先 Qt Creator 会编译时会生成一个 json 文件,就在工程目录下,我的是 a.. 阅读全文
摘要:
在学习Qt的这2、3个月里,对Qt越发感兴趣,从刚开始的盲目、无所适从到现在的学习、研究、熟练、掌握的过程中,我学到了很多东西,也学会了如何通过自学让自己更加成熟、强大起来,如何更有效地提高自己学习、工作效率。关于Qt界面的出现消失效果,我简单介绍两种方法。1、(1)界面出现将下面这段代码放在界面的构造函数当中就行//界面动画,改变透明度的方式出现0 - 1渐变QPropertyAnimation *animation = new QPropertyAnimation(this, "windowOpacity");animation->setDuration(1000 阅读全文
摘要:
用Qt写界面时,难免会进行本地信息的保存,可以使用轻量级数据库sqlite,也可以使用QSettings读写配置文件。如何来进行读写呢?如下,使用QSettings写一个通用的读写方法:bool Util::writeInit(QString path, QString user_key, QString user_value){if(path.isEmpty() || user_key.isEmpty()){return false;}else{//创建配置文件操作对象QSettings *config = new QSettings(path, QSettings::IniFormat); 阅读全文
摘要:
总结一下,在开发Qt的过程中的一些技巧!可遇而不可求。。。一、主界面1、无边框setWindowFlags(Qt::FramelessWindowHint)2、界面始终位于顶部位置setWindowFlags(Qt::WindowStaysOnTopHint)3、任务栏图标点击时进行显示/不显示切换setWindowFlags(Qt::WindowMinimizeButtonHint)4、隐藏任务栏显示setWindowFlags(Qt::Tool | Qt::X11BypassWindowManagerHint)5、关闭按钮实现的功能hide(); //进行界面隐藏,但是显示托盘,可通过点击 阅读全文
摘要:
知识永远是那么多,想到什么就总结什么,今天记录一下关于我对QComplete的一些小见解。官方文档中叙述如下:可以在任何Qt的窗口小部件中使用QCompleter提供自动补全功能,如:QLineEdit和QComboBox。当用户开始输入一个字符,QCompleter根据单词列表提示完成单词。这个单词列表是作为一个QAbstractItemModel被提供的(对于简单的应用,这里所说的列表是静态的,可以传递一个QStringList来构造QCompleter)。QCompleter补全文件路径QLineEdit *search_line_edit = new QLineEdit();QComp 阅读全文
摘要:
Windows开机自启动的程序很多,包括系统软件、杀毒软件、一些其他安装软件等等。当然可以禁止,通过软件管理或者手动删除对应的注册表中的项即可!但是为了系统的服务或者操作上的方便,我们往往需要开机自启动一些服务。以下是开机的启动项:Qt也不例外,在发布Qt程序的时候,我们通常也需要开机自启动自己的程序,那么如何实现呢?主要采用修改注册表的方式。代码比较简单:#define REG_RUN "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"void SettingDialog::setA 阅读全文
摘要:
在Qt开发过程当中经常使用qDebug等一些输出来调试程序,但是到了正式发布的时候,都会被注释或者删除,采用日志输出来代替。做过项目的童鞋可能都使用过日志功能,以便有异常错误能够快速跟踪、定位,Qt也提供的类似的机制。之前用Qt4做项目时使用的是Qt::qInstallMsgHandler(),到了Qt5,使用了新的Qt::qInstallMessageHandler()来替代,详情请查看Qt助手(C++ API changes)。描述助手中在C++ API changes中提到:Qt::qDebug()、Qt::qWarning()、Qt::qCritical()、Qt::qFatal()被 阅读全文
摘要:
使用Qt5.x版本中的不同方面来开发应用程序,着重于新的Qt Quick的技术,提供了编写C++后端的必要内容,并扩展了Qt Quick。本章提供了关于Qt5高层次的概述。它对开发者有效的展示了不同的应用模式并且使用Qt5对应用程序进行预演。此外,该章的目的是提供Qt5内容的广泛概述以及如何联系Qt5的创造者。一、前言Qt5重点Qt5是对非常成功的Qt4的完整补充。截止Qt4.8,Qt4已经历了7年。现在是时候做出一个更令人称奇的工具包,Qt5主要聚焦于以下内容:出色的图形:Qt Quick 2基于OpenGL(ES)来构建场景视图。重写的图形堆栈提供的图形效果与易用性在这一领域达到了从未有过 阅读全文
摘要:
原地址:http://blog.csdn.net/fjb2080/article/details/4833666我们在编译QT的工程的时候,一般都会让qmake自动生成,但有时我们需要定制我们的工程,那么就必须改写pro文件。要自己全部写pro文件又有点麻烦,所以,一般都是先运行 qmake -project来生成基本的pro文件。例如你有一个工程目录为backup,那么在这个目录下就会生成backup.pro文件。对一般的工程,我们只需要修改几个基本的常用的选项,下面说说怎么修改。假设我们有个目录,名字为backup。下面有a.h,a.cpp,b.h,b.cpp,main.cpp等文件。首先 阅读全文
摘要:
原地址:http://blog.csdn.net/fjb2080/article/details/7386292转自:http://blog.csdn.net/high_high/article/details/7385585这里要编译的工程包含一个库和一个可执行文件。可执行文件依赖于库,所以要先编译库,编译后库放在lib目录里面,可执行文件放在bin目录里面。目录结构如下:[plain] view plaincopy.├──app│├──app.pro│├──appwindow.cpp│├──appwindow.h│└──main.cpp├──bin├──complex.pro├──incl 阅读全文
摘要:
原地址:http://blog.csdn.net/fjb2080/article/details/81360841、用qlabel。QLabellabel->setText(tr("google"));label->setOpenExternalLinks( true );2、QDesktopServices::openUrl("blog.csdn.net/fjb2080"); 阅读全文
摘要:
原地址:http://blog.csdn.net/fjb2080/article/details/9013047在windows的控制台下输出,需要在pro文件中加入:CONFIG += console 阅读全文
摘要:
原地址:http://www.tuicool.com/articles/RZnYze在QT的界面类的构造过程中,如果想退出整个程序,暴力的做法是调用exit(-1)进行,另外一种不是那么暴力的方式如下:dialog.h#ifndef DIGLAOG_H_#define DIGLAOG_H_ #include class dialog : public QDialog{public:dialog (QWidget *parent = 0);virtual ~dialog ();private:};#endifdialog.cpp#include "dialog.h"#incl 阅读全文
摘要:
原地址:http://blog.csdn.net/lastsoup/article/details/7043124Qt的皮肤设计,也可以说是对Qt应用程序的界面美化,Qt使用了一种类CSS的样式规则QSS。一、Style Sheet的应用1.直接在程序代码中设置样式,利用setStyleSheet()方法widget->setStyleSheet("color:red"); //widget内字体颜色为红色widget->->setStyleSheet(QPushButton{color:red} QPushButton:hove{color:yellow 阅读全文
摘要:
原地址:http://blog.csdn.net/lastsoup/article/details/7028243设计软件中各个部件的位置排列,有两种方法:1.设置widget的在父窗体中的坐标和大小widget->move(x,y);widget->resize(width,height);//widget->setGeometry(QRect(x,y,width,height));什么时候用:不想被布局约束,对这种控件可控制时例如下面的可活动按钮缺点:在遇到很多个部件时,一个个算坐标会很麻烦部件不自动随父窗体的变化而变化(这里要重写resizeEvent事件算变化比例建立 阅读全文