Qt打开外部程序(界面与程序连接)

Qt打开外部程序(界面与程序连接),第1张

#include<Qprocess>

void MainWindow2::program() //打开外部程序

{

    this->hide();  //隐藏当前界面

    QProcess::execute("……\\xxexe");   //外部程序所在路径

}

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 46——最新版的跨平台应用程序和用户界面框架。Qt 46 对全新平台提供支持,具有强大的全新图形处理能力并支持多点触摸和手势输入,让高级应用程序和设备的开发过程变得更加轻松和快乐。

诺基亚应用服务和框架副总裁Sebastian Nystrom说:“不论是什么样产品设计或开发平台,Qt 46的发布对开发人员来说都是一件令人兴奋的事。”

“开发人员可以轻而易举地为桌面平台或设备(包括数亿部基于Symbian 和 Maemo系统的设备)开发出具有视觉美感和网络连接功能的应用程序。”

Nystrm补充说:“开发人员将非常喜欢使用Qt直观的编程界面,快速开发出功能强大、外表美观的应用程序。”

更多平台

Qt46 首次包含了对Symbian 平台的支持,并在其所支持的平台中新增了 Windows 7、Apple Mac OS 106 (雪豹)和即将上市的Maemo 6。此外还为实时 *** 作系统QNX 和 VxWorks提供了网络社区支持。对Maemo 5的支持目前也已进入研发阶段,其技术预览版第二版已于今日发布。

Qt 对 Symbian 和 Maemo 的支持首次为开发人员创造了使用同一代码库同时针对这两个平台进行开发的机会。能够跨平台分享代码就意味着开发人员所开发的应用程序上市的速度将更快,影响的设备用户群将更广。

Qt Mobility项目下的全新Qt API技术预览版也于今日同时发布。这些跨平台的API为开发人员提供了多种功能,如导航类设备的定位功能,以及信息发送和接收、联系人和网络连接管理等。

外观更炫

Qt 46是在45图形增强功能的基础上创建的,进一步强化了这些图形功能,添加了全新的动画框架(Animation Framework)——包括直观的状态机功能——以及全新的高级图形功能,如不透明、阴影、闪光和滤镜等。

使用手指

Qt46最令人兴奋的新功能之一就是可以创建多点触摸应用程序。这种全新的基于多触点和手势的输入法(如轻触和动力滚动)使Qt46框架的功能更为强大,用户可以通过触觉以动态的方式与应用程序和设备进行互动。

性能更强

传统软件开发观点认为高级用户界面功能的获得通常是以性能严重受损作为代价的。Qt 46 对此观点提出了挑战,为此投入大量工作,既要获得最佳性能,又要能让开发人员所开发的产品达到用户所要求的“令人惊叹”的效果。

性能提升主要包括:一个经过高度优化、重新编写的 Qt GraphicsView 渲染算法、一个全新的 OpenGL 绘图引擎、WebKit、使用 OpenVG 对 2D 矢量图形的支持,以及对全新 DirectFB 的支持。

最新工具

在发布 Qt 46 的同时,作为 Qt 开发跨平台 IDE 的 Qt Creator 也发布了更新版本。Qt Creator 13 和 Qt 46共同构成的 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(一个自由开源的数值计算环境和编程语言 )、Gadu-Gadu(即时通信软件)、Google地球(Google Earth)(三维虚拟地图软件)、ImageVis3D、KDE(著名的桌面环境)、Elibs(一个许多KDE程序都使用的共享库,如Amarok、K3b、KDevelop、KOffice等)、Lastfm播放器(著名的互联网音乐社区网站的桌面客户端)、Motorola A760(UI 以 Qt/Embedded 建构)、MythTV9(开源的数字视频录制软件)、Opera(著名的网页浏览器)、Qterm(跨平台的BBS软件)、QtExtended、Quantum GIS、Skype(一个使用人数众多的基于P2P的VOIP聊天软件)、SMPlayer(跨平台多媒体播放器)、TeamSpeak(跨平台的音效通信软件) 、Tlenpl:波兰人发明的 instant messaging client TOra、VirtualBox(虚拟机软件)、Xconfig(Linux的Kernel配置工具) 、chmcreator(开源的chm开发工具)…

1 求一份linux环境下的qt creator教程,最好是包含有关C编程的~~~谢了!

Qt creator是跨平台的,你可以在Windows下编程,编译的时候再拿到linux下重新编译一下就OK了,Qt和C++语言类版似,而且权Qt有自己的帮助文档,多看看多试试,网上QT的视频,看完了跟着做一下,或者你字节上网搜事件队列处理,事件响应,信号和槽,这3样都会了,做啥你都有思路了~

希望对你有所帮助!

2 您好!向您请教一个问题linux下QT界面,程序1如何获取程序2的窗口句柄

linux Qt 下不流行句柄 Qt 下要访问一个窗口用的是指针

程序1 想获取, 程序 2 的窗口句柄属于进程间专通属信

进程间通信有多种方法如果找同一台机器上我推荐用有名管道 但是由于每个进程都有自己的地址空间进程间不能直接访问对方的地址所有说不管你有没有成功获得这个句柄,这个句柄都是不能用的

3 Qt用windows下的工具开发的界面能否放在linux下面使用如果能,这和linux下有什么区别

只调用QT库或是标准库的话,只要重新编译就行,linux下有专用的Qt Creator,用法和WINDOWS类似

4 linux下QT编程,就是写一个可视界面程序,输入局域网内某人IP,就可以和他聊天

这个程序很简单啊 要用到QUdpSocket等类

5 如何用qt在linux中编写并使用动态链接库

先写好实现动态链接库的libmycpp文件和libmyh文件,如下:

// libmycpp

#include"libmyh"

#include<iostream>

using namespace std;

MyLib::MyLib()

{

}

MyLib::~MyLib()

{

}

void MyLib::hello()

{

cout << "hello world~!" << endl;

}

// libmyh文件

#ifndef LIBMY_H

#define LIBMY_H

class MyLib

{

public:

MyLib();

~MyLib();

void hello();

};

#endif /LIBMY_H/

然后写好pro文件,如下:

TEMPLATE = lib

TARGET =DllTest

HEADERS += libmyh

SOURCES += libmycpp

保存关闭,文件名命名为MyDllpro

在Shell里执行qmake MyDllpro,在没有错误的情况下,然后执行make ,可以看到生成了几个后缀名为so的文件,如下图:

6 在linux下用qt编程时,请教怎样在程序中调用另一个程序,例如我写好了个聊天程序,想添加个按钮,

使用QProcess,看下Qt的帮助文档有关QProcess这块的你就懂了。

7 linux qt多长时间能学会

1、C++的基础,qt只是库而已,C++才是基础这个就不说了吧,《C++ Primer》可以了;专

2、linux的基础,可以看《属Linux就该这么学》这本书

3、平时多逛逛官网啊、论坛(qt中文论坛,版主挺牛的)之类的。

其实只要有兴趣,学起来还是蛮快的,不过基础还是要打牢固啊,呵呵。

8 求个linux 下qt实现qq聊天功能的代码

//down51cto/data/615244

9 第一次接触Linux和Qt 最近拿到一个局域网下的即时聊天软件,在Linux下用Qt做的,但是不是很懂。

给权限啊,只要是给了权限就可以执行,当然,必须是执行有效的。好像是+x是执行权限,用ls -l可以查看文件有哪些权限

10 linux下的Qt如何设置主窗口的背景,用手写代码的那种

Qt4版本以上可在构造函数中加入如下代码

RcMainWindow::RcMainWindow(QWidget parent) :

QMainWindow(parent),

ui(new Ui::RcMainWindow)

{

ui->setupUi(this);

QPixmap pixmap(":/img/backgroundbmp");

QPalette palette;

palettesetBrush(backgroundRole(), QBrush(pixmap));

setPalette(palette);

}

此外也可实现继承自父类QMainWindow的虚函数paintEvent,并在该函数中加入同样代码。

以上就是关于Qt打开外部程序(界面与程序连接)全部的内容,包括:Qt打开外部程序(界面与程序连接)、基于linux平台qt的计算器设计流程图、linux课程设计聊天qt等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9795148.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存