linuxqt教程
‘壹’ linux下的qt 安装的具体方法是什么
根据不同的linux有不同的安装法 一般都是网络安装
ubuntu 的是 yum install qt
redhat apt-get install qt
archlinux pacman -S qt
‘贰’ 有会linux下QT编程的吗
根本就是胡来!
10分有点少,给你简单说说。
首先你需要看看你使用的qmake是哪一个,命令
which qmake
看看是不是你安装的那个!
-I/usr/include/Qt... 说明你执行的qmake不是那安装的版本,系统的那个你又没有装qt4-devel,简单的就是直接安装qt4-devel,复杂的你自己研究吧。
反正不要把系统的和你自己装的混合起来用,另外就是尽量不要轻易改动系统的,否则你会遇上更多麻烦。
--------------------------
Windows和Linux执行文件的方式不同,Linux默认从系统路径中寻找,Windows从当前路径寻找。
在Linux上运行当前目录下的文件用
./文件名
而不是直接输入文件名,或者直接连同全路径一起输入。
你的问题是这样的,你的qmake,告诉编译器去你的系统路径中寻找系统中自带的qt库,但是你没有安装。你自己安装了一个开发环境,但是你调用了系统的QT里面的qmake,系统自带的qmake会寻找编译你的桌面(KDE)的时候用的qt文件,但是你没有安装,所以所有的文件的位置和版本都找不到。
解决:
1、你可以找到你自己安装的qt然后运行里面的qmake。让qmake找到你自己安装的qt相关文件。
2、直接删除自己安装的软件,加入系统自带的qt开发包,一般叫做qt-xxx-devel,让系统的qt可以找到他原来的开发包。
3、不建议混合,即用系统的qmake找到你目前安装的qt库,那样可能版本不兼容。
关于QT:
你可以认为分成两个部分,一部分用来开发,一部分用来运行程序。你的系统中已经安装了用来运行程序的部分,因此qmake被识别成系统的。而你另外装了一个完整的QT(包含开发部分),但是系统的qmake仍然试图寻找,他自己原来的那个开发部分,而不是你新装的。即使修改文件让系统找到你的那些开发文件也可能和系统的版本不完全一致而出错。
‘叁’ linux下如何进行Qt编程
不知您使用的是哪个Linux,Ubuntu(Den类)中的最为容易,可以在软件中心直接下载,然后在终端输入
$sudo apt-get install qdevelop
之后就可以在Qt上进行软件开发了
如果在Fedora中(Redhat类),首先要查一下Qt软件依赖的文件,先将依赖的软件包安装后即可安装Qt
可以参考这本书
C++ GUI Programing with Qt4 (2nd edition)
中文名叫
C++ GUI Qt4程序设计
‘肆’ linux下如何运行qt程序
图形界面下,直接下载qtcreate,libqt4-dev,qt5defaule-dev 第一个是编辑软件,后两个是库,如需其他另外找。命令行模式的话,不知道怎么在没有图形界面下运行对话框的程序,命令行模式运行qt命令行格式的,直接qmake,make。就可以了。里面那个没有后缀的就是运行程序了,./程序名 运行 不行就加权限 chmod +x ***.
‘伍’ 如何在linux下安装QT源码包,安装后用图形形式编程
虽然网络上很多人使用 Redhat 或者Fedora 作为上位机操作系统,但是我觉得使用Ubuntu最为方便,因为需要的软件包大部分都可以通过 apt-get 方式来安装,而不必从源代码开始自己编译。
虽然网络上很多人使用 Redhat 或者Fedora 作为上位机操作系统,但是我觉得使用Ubuntu最为方便,因为需要的软件包大部分都可以通过 apt-get 方式来安装,而不必从源代码开始自己编译。要知道,自己编译源代码可不是一件轻松的事,因为在编译过程中经常会出现令人意外而且莫名其妙的错误。
我们使用的操作系统是 Ubuntu 8.04,使用目前最新版本的QT 4.4.0,安装起来即为简单,只要在命令编辑运行以下命令就行:
sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer
注意在这个版本的软件包中,qt4-dev-tools 包含了Qt Assistant及Qt Linguist等工具,因此不需要单独安装这两个工具。其它的,qt4-doc 是帮助文档,包含了Qt中各个类库的详细说明以及丰富的例子程序,可以使用Qt Assistant 工具来打开阅读。qt4-qtconfig 是配置Qt环境的一个对话框,一般默认就行了,很少有必要去更改。qt4-demos 包含很多可以运行起来的可执行文件以及源代码。qt4-designer是用来设计GUI界面的设计器。
为了连接Mysql数据库,需要安装连接MySQL的驱动程序:
sudo apt-get install libqt4-sql-mysql
比起在Windows下安装和配置Qt的MySQL驱动来说,简直太方便了。如果还需要其它的没有默认安装的Qt库,可以在命令行输入 sudo apt-get install libqt4- 然后按tab键自动补全,就会列出所有以libqt4- 开头的软件包,如下图所示:
这些都可以使用一个命令搞定,而不需要自己从源码开始编译。在记不准或不知道名字的情况下,使用tab键列出所有可选的软件包是一个很实用的小技巧。
在我的项目中,还需要画一些数据曲线和统计图表等,而第三方的QWT库提供了这些功能。同样,只需要一个命令即可完成安装:
sudo apt-get install libqwt5-qt4 libqwt5-qt4-dev
这时,打开Qt Designer,就会发现左边的Widget列表里面多了“Qwt Widget”这一组。
最后,关于集成开发环境我觉得QDevelop很不错,它跟Qt Designer结合的很好,而且有提示类成员函数的功能。运行以下命令安装:
sudo apt-get install qdevelop
这样,使用Qdevelop编写代码和编译、调试,使用Qt Designer设计界面,开发效率较高。
‘陆’ ubuntu linux 下使用Qt连接MySQL数据库
Linux下完整的MySQL开发需要安装服务器端,如果安装客户端也没什么不好。直接在软件中心搜mysql,把client和server选上。
环境说明:
ubuntu
10.04.2
QtSDK
(1.5G安装包的那个)
mysql5.1
1.安装MySQL
Linux下完整的MySQL开发需要安装服务器端,如果安装客户端也没什么不好。直接在软件中心搜mysql,把client和server选上。
server在安装时会提示为root用户设置密码,设一个好了。
我使用的是mysql5.1版本,用户名密码存储在一个叫mysql的数据库里,只有管理员级别才能看到。
如果直接在终端中输入
mysql,可能会提示ERROR
1045
(28000),这是因为这时候你是以自己用户名访问数据库,而目前数据库中只有一个root用户。没关系,如果有必要,可以添加一个用户进去:
mysql
-uroot
-p
--
以root用户登录
grant
usage
on
*.*
to
mmy@localhost;
--
授权名为mmy的用户本地登录,这里换成自己的用户名就可以了
不过这时候直接mysql只有普通的权限,创建数据库、操作mysql都是不可以的,如果真有将其赋予管理员权限的需要,可以自己查阅有关资料。
2.安装Qt的MySQL驱动。
方法一:直接sudo
apt-get
install
libqt4-sql-mysql
,这是Qt4的mysql驱动,就不用自己费劲编译了,不过可能会额外下载一些东西。
将
/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so拷贝到你的QtSDK
sqldrivers目录下,我当时是直接用普通权限安装,目录为:~/QtSDK/Desktop/Qt/473/gcc/plugins/sqldrivers
方法二:其实你也可以sudo
apt-get
download
libqt4-sql-mysql,把包解压缩,然后把里面的so文件搜出来直接拷贝到那里。
方法三:乖乖按照官方方法编译,但是貌似可行性不大,因为新版本的QtSDK并没有src目录,默认也没有mysql的驱动。
3.做个demo试一下
记得在pro文件中
QT
+=那里加上sql,否则qmake是不会去找sql的相关部分的
复制代码代码如下:
#include
QtCore/QCoreApplication
#include
QSqlDatabase
#include
QDebug
int
main(int
argc,
char
*argv[])
{
QCoreApplication
a(argc,
argv);
QSqlDatabase
db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("study");
db.setUserName("root");
db.setPassword("tyh");
if(!db.open()){
qDebug()
"Unable
to
open
database";
}else{
qDebug()
"Database
connection
established";
}
return
a.exec();
}
这里study这个数据库之前我已经创建过了,如果连接成功,就会显示Database
connection
established。
我是建立的控制台程序哈。
软件教程小编推荐:
Linux安装配置MariaDB数据库全程详解
Linux系统怎么设置开机密码?
Linux启动菜单修改教程
‘柒’ 用QT做一个基于LINUX跨平台播放器的一般步骤
ACE全称adaptive communication enviroment,是一套C++的通信库。它提供了socket/threading/memory management等多种系统调用的面对对象的wrapper,使C++通信软件开发更加简单。
ACE最帅的特点:跨平台!!!!!!ACE屏蔽了底层平台特定的语义,使用ACE编写的C++程序,可以在linux/windows/HP-Unix下编译执行,而且效率很高。曾经做过的一个VOIP项目就是用ACE写的,那个项目的技术相当复杂,需要用到socket/multi-threading等很多与操作系统联系紧密的技术,但用了ACE(界面用Qt)后,那个项目源码可以直接在linux和windows下编译运行,呵呵,还是相当成功的。项目进行中感到ACE相当成熟,举一个朋友说Siemens的某些大型工程也是用的ACE。而且,ACE是免费开源的软件包--不用白不用。
C++ Network Programming就是ACE项目的负责人Schmidt写的,这位老哥以前是华盛顿大学的副教授,主要研究领域是软件工程(他写了不少关于pattern的文章和书),现在猫到UC Irvine去了,好象还是副教授(要这哥们在中国,早应该成教授了吧)。这两本书主要介绍了ACE的使用,也涉及了部份设计方面的内容。第一卷主要介绍ACE的基本功能和使用,第二卷则偏重通讯软件中的design pattern。搞通信软件开发的兄弟们绝对应该看看此书。
另外也有人推荐把ACE作为学习C++的范例来学习,呵呵,这就是个人喜好的问题了...总的来说ACE的代码风格还是很不错的--比STL那些天书好看些,呵呵。
Q: 什么是ACE或者ACE2插件?
A: 如果把普通的插件比作一棵棵互不关联的小树, 那么ACE库或者ACE2库就是一棵大树干,所有基于ACE的插件就是长在上面的树枝. 共有的部分都被集成到一起,因此代码非常短小和快速,而且稳定.ACE2是用来取代ACE的版本,虽然有一些插件还未能从ACE转换到ACE2,但是ACE2系的插件现在可说代表了wow插件的最高水平.
ACE2是为其他倚赖ACE2才能运行的插件提供库支持的一个库文件,本身不具备任何功能。
如BigWigs[ACE2]就说明BigWigs这个插件需要ACE2的支持。
使用方法:解压缩以后无论是ACE2还是!LIB都直接放入Interface\Addons里面就可以了。
ACE 类插件因为短小精悍 面向对象 有越来越多的插件开始以其作为编写库
目前已经发展到 ACE2
ACE2运行库开发组都是提倡直接内嵌的,完全没有必要单独提出来!没错如果你有10个内嵌了ACE2的插件,开始载入的时候确实会载入10个副本的ACE2导致Warmup显示内存占用偏大,但是在下次的碎片回收中,多余的ACE2副本都会被清除,只留下一个驻留内存。如果有新旧多个版本,则会自动选择最新的版本驻留。所以说,Warmup的数据,不能正确的反映出ACE2插件的实际内存使用。Warmup的作者本身也是ACE开发团队的成员,现在由于Warmup导致的一些对ACE2的误解,这家伙想必也是哭笑不得了,呵。
作为ACE2插件的使用者,完全没有需要去考虑运行库的版本更新等等问题,这是ACE2标准的一个重要精神,是ACE2开发初始就持有的初衷!所有的ACE2运行库,都是可直接内嵌、自动管理版本,不需要使用者进行任何管理干预的!
ACE2作为wow插件界的技术先锋,为插件作者提供了一个良好的开发平台,也切实地为玩家带来了易用、强大而低资源占用的优秀插件。希望大家不要为过往的成见和一些人的误导而错失了如此优秀的插件!
谈运行库而色变,完全是没有必要的。ACE2的优秀运行库(包括ACE2和基于ACE2标准的CandyBar, Dewdrop, Metrognome, Compost, ParserLib等等)不但是简化了插件的开发,优化了代码,也对降低插件资源占用作用。再加上ACE开发社区作者们强烈的优化意识,可以负责的说,ACE2的插件比其他插件绝对更省资源!
本质上来说, Qt是一个跨平台的C++应用程序开发框架,有时又被称为C++部件工具箱。Qt被用在KDE桌面环境、Opera、GoogleEarth、Skype、Adobe Photoshop Album和VirtualBox的开发中。它是诺基亚(Nokia)的QtDevelopment Frameworks 部门的产品。使用 Qt,只需一次性开发应用程序和用户界面,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。
基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西,但是 Qt 具有下列优点:
a) 优良的跨平台特性:
Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux,Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD,BSD/OS, SCO, AIX, OS390,QNX 等等。
b) 面向对象
Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。
c) 丰富的 API
Qt包括多达 250 个以上的 C++ 类,还替供基于模板的 collections, serialization, file, I/Odevice, directory management, date/time 类。甚至还包括正则表达式的处理 功能。
d) 支持 2D/3D 图形渲染,支持 OpenGL
e) 大量的开发文档
f) XML 支持
最近诺基亚发布了Qt 4.6——最新版的跨平台应用程序和用户界面框架。Qt 4.6 对全新平台提供支持,具有强大的全新图形处理能力并支持多点触摸和手势输入,让高级应用程序和设备的开发过程变得更加轻松和快乐。
诺基亚应用服务和框架副总裁Sebastian Nystrom说:“不论是什么样产品设计或开发平台,Qt 4.6的发布对开发人员来说都是一件令人兴奋的事。”
“开发人员可以轻而易举地为桌面平台或设备(包括数亿部基于Symbian 和 Maemo系统的设备)开发出具有视觉美感和网络连接功能的应用程序。”
Nystr?m补充说:“开发人员将非常喜欢使用Qt直观的编程界面,快速开发出功能强大、外表美观的应用程序。”
更多平台
Qt4.6 首次包含了对Symbian 平台的支持,并在其所支持的平台中新增了 Windows 7、Apple Mac OS 10.6 (雪豹)和即将上市的Maemo 6。此外还为实时操作系统QNX 和 VxWorks提供了网络社区支持。对Maemo 5的支持目前也已进入研发阶段,其技术预览版第二版已于今日发布。
Qt 对 Symbian 和 Maemo 的支持首次为开发人员创造了使用同一代码库同时针对这两个平台进行开发的机会。能够跨平台分享代码就意味着开发人员所开发的应用程序上市的速度将更快,影响的设备用户群将更广。
Qt Mobility项目下的全新Qt API技术预览版也于今日同时发布。这些跨平台的API为开发人员提供了多种功能,如导航类设备的定位功能,以及信息发送和接收、联系人和网络连接管理等。
外观更炫
Qt 4.6是在4.5图形增强功能的基础上创建的,进一步强化了这些图形功能,添加了全新的动画框架(Animation Framework)——包括直观的状态机功能——以及全新的高级图形功能,如不透明、阴影、闪光和滤镜等。
使用手指
Qt4.6最令人兴奋的新功能之一就是可以创建多点触摸应用程序。这种全新的基于多触点和手势的输入法(如轻触和动力滚动)使Qt4.6框架的功能更为强大,用户可以通过触觉以动态的方式与应用程序和设备进行互动。
性能更强
传统软件开发观点认为高级用户界面功能的获得通常是以性能严重受损作为代价的。Qt 4.6 对此观点提出了挑战,为此投入大量工作,既要获得最佳性能,又要能让开发人员所开发的产品达到用户所要求的“令人惊叹”的效果。
性能提升主要包括:一个经过高度优化、重新编写的 Qt GraphicsView 渲染算法、一个全新的 OpenGL 绘图引擎、WebKit、使用 OpenVG 对 2D 矢量图形的支持,以及对全新 DirectFB 的支持。
最新工具
在发布 Qt 4.6 的同时,作为 Qt 开发跨平台 IDE 的 Qt Creator 也发布了更新版本。Qt Creator 1.3 和 Qt 4.6共同构成的 Qt SDK,包含了开发跨平台应用程序所需的全部功能。(来自programbbs)
3、用QT能做什么?
在QT的官方网站谈到了15年来取得了的成就,它帮助世界各地和各个行业组织开发出先进的高度创新的应用和设备。
使用Qt,众多的开发商和公司已经能够:
● 减少了近50%的开发时间。
● 加速了50%的开发速度由于代码可维护
● 减少了50%的代码量
Qt的用户怎么说?
● 94%报告说,Qt的满足或超过其发展的期望
● 92%会向他人推荐使用Qt
● 76%报告因为使用Qt,生产率提高
Qt的应用领域:
有很多出名的例子是都是使用Qt开发的。例如: Arora(一款跨平台的开源网页浏览器)、eva(Linux版QQ聊天软件)、FreeMat(一个自由开源的数值计算环境和编程语言 )、Ga-Ga(即时通信软件)、Google地球(Google Earth)(三维虚拟地图软件)、ImageVis3D、KDE(着名的桌面环境)、Elibs(一个许多KDE程序都使用的共享库,如Amarok、K3b、KDevelop、KOffice等)、Last.fm播放器(着名的互联网音乐社区网站的桌面客户端)、Motorola A760(UI 以 Qt/Embedded 建构)、MythTV9(开源的数字视频录制软件)、Opera(着名的网页浏览器)、Qterm(跨平台的BBS软件)、QtExtended、Quantum GIS、Skype(一个使用人数众多的基于P2P的VOIP聊天软件)、SMPlayer(跨平台多媒体播放器)、TeamSpeak(跨平台的音效通信软件) 、Tlen.pl:波兰人发明的 instant messaging client TOra、VirtualBox(虚拟机软件)、Xconfig(Linux的Kernel配置工具) 、chmcreator(开源的chm开发工具)…
‘捌’ 求LINUX下QT学习教程及相关视频
给你推荐两本书
Introction to Design Patterns in C++ with Qt (2nd Edition)
Author: Alan Ezust, Paul Ezust
C++ GUI Programming with Qt 4 (2nd Edition) - The official C++/Qt book
Author: Jasmin Blanchette and Mark Summerfield
特别推荐第二本。学习愉快!!!