QT程序中打开txt,word,excel,cad等的方法

news/2024/7/21 6:56:19 标签: QT, desktop, word, 文档, excel
/*
    打开Word文档
*/
void MainWindow::OpenWord()
{
    //隐式的打开一个word应用程序
    QAxWidget word("Word.Application");
    //word.resize(1280,720); //没有用
 
    //获取所有工作文档
    QAxObject * documents = word.querySubObject("Documents");
    //创建一个word文档
    documents->dynamicCall("Add (void)");
    //获取当前激活的文档
    QAxObject * document = word.querySubObject("ActiveDocument");
    word.setProperty("Visible", true);
}
/*
    打开Excel文档
*/
void MainWindow::OpenExcel()
{
    //隐式的打开一个excel应用程序
    QAxWidget excel("Excel.Application");
    //获取所有工作文档
    QAxObject * workbooks = excel.querySubObject("WorkBooks");
    //创建一个excel文档
    workbooks->dynamicCall("Add (void)");
    //获取当前激活的文档
    QAxObject *workbook = excel.querySubObject("ActiveWorkBook");//获取当前工作簿
    excel.setProperty("Visible", true);
}
/*
    打开txt文档
*/
void MainWindow::OpenTxt()
{
    QProcess* process = new QProcess();
    QString notepadPath = "notepad.exe";
    process->start(notepadPath);
 
}
/*
    打开Photoshop
*/
void MainWindow::OpenPhotoshop()
{
 
    /* QProcess process;
    QString PhotoshopPath = "acad.exe";
    QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
   // env.insert("TMPDIR", "C:\\MyApp\\temp"); // Add an environment variable
    env.insert("PATH", env.value("Path") + ";D:\\Program Files\\AutoCAD 2010");
    process.setProcessEnvironment(env);
    process.start(PhotoshopPath);*/
    QProcess* process = new QProcess();
    QString CalcPath = "Photoshop.exe";
    process->start(CalcPath);
}
/*
    打开CAD
*/
void MainWindow::OpenCAD()
{
 
    /* QProcess process;
    QString PhotoshopPath = "acad.exe";
    QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
   // env.insert("TMPDIR", "C:\\MyApp\\temp"); // Add an environment variable
    env.insert("PATH", env.value("Path") + ";D:\\Program Files\\AutoCAD 2010");
    process.setProcessEnvironment(env);
    process.start(PhotoshopPath);*/
    QProcess* process = new QProcess();
    QString CADPath = "acad.exe";
    process->start(CADPath);
}
/*
    打开Youku
*/
void MainWindow::OpenYouku()
{
 
    //QProcess process;
    // QString Youku = "D:\\Program Files\\YouKu\\YoukuClient\\YoukuDesktop.exe";
    /* QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
    //qDebug()<<"env.value"<<env.value("Path");
    //env.insert("TMPDIR", "C:\\MyApp\\temp"); // Add an environment variable
    env.insert("PATH", env.value("Path") + ";D:\\Program Files\\YouKu\\YoukuClient\\"); //能将环境变量加入但不好用
    process.setProcessEnvironment(env);
    process.start(Youku);
    qDebug()<<"env.value"<<env.value("Path");*/
 
 
}
/*
    打开WMPlayer
*/
void MainWindow::OpenWMPlayer()
{
 
    QDesktopServices::openUrl(QUrl("file:///C:/Program Files (x86)/Windows Media Player/wmplayer.exe", QUrl::TolerantMode));
}
/*
    打开网页
*/
void MainWindow::OpenIE()
{
    // 方法一
    QDesktopServices::openUrl(QUrl(QString("www.baidu.com")));
}
/*
    打开计算器
*/
void MainWindow::OpenCalculator()
{
 
    QProcess* process = new QProcess();
    QString CalcPath = "calc.exe";
    process->start(CalcPath);
}

/*
   打开文件夹
*/
void MainWindow::OpenFile()
{
    //方法一
    //   QDesktopServices::openUrl(QUrl("file:///C:/", QUrl::TolerantMode));
    //方法二
    QProcess::execute("explorer c:\\");
}

参考的方法链接:
 http://m.blog.csdn.net/blog/nameofhsw/17955373
 http://blog.sina.com.cn/s/blog_664754480100svnk.html
 http://blog.csdn.net/yangxiao_0203/article/details/7422715
 http://blog.csdn.net/tingsking18/article/details/5677353
 http://zhidao.baidu.com/link?url=U4F0oIYKp1ekcg9p8L0OvlcCah7038zzjW2S6E5Nk_lITIgNKenoCjqNt_dKlfRLXL--qNOtxNKo2DgQCKDhUK
 http://blog.csdn.net/yangxiao_0203/article/details/6634293
 http://blog.csdn.net/kfbyj/article/details/9277921



http://www.niftyadmin.cn/n/1366437.html

相关文章

qt中文国际化和图片资源使用方法

中英文翻译方法 这种方法针对的是 tr("中文")这种情况&#xff0c;即使用tr()。 在项目的*.pro文件中增加一行&#xff1a;CODECFORTR gbk #or utf-8&#xff1b;指定编码&#xff0c;告诉lupdate 要从源码文件中提取中文字符串使用的gbk&#xff0c;还是utf8&#…

windows下设置QT程序的版本信息、程序图标和可执行文件图标

一.设置QT程序的版本信息 windows下的可执行文件的属性中有版本这个信息&#xff0c;她含有版本信息&#xff0c;描述&#xff0c;版权等等。&#xff1a;新建***.rc文件&#xff0c;编辑rc文件的信息如下&#xff1a; #if defined(UNDER_CE) #include <winbase.h> #e…

C语言学习准备-编辑器选择

今天继续给大家更新C语言经典案例 今天的案例会比昨天稍微有一些难度&#xff0c;但是同时还是非常经典的案例 本来是想给大家继续更新C语言经典案例&#xff0c;但是有朋友反应C语言编辑器的选择&#xff0c;刚好我自己也是想更换一下C语言的编辑器&#xff0c;跟大家分享一下…

Qt之解决中文乱码,字体设置

Qt程序中文显示乱码的问题&#xff1a; 在Windows系统中QT默认都是GBK编码方式&#xff0c;而在Ubuntu环境设置默认是UTF-8(无BOM)编码方式。当QT程序从Ubuntu系统中转到Windows系统中运行或从Windows系统转到Ubuntu环境时就会出现程序显示乱码的问题。 在Windows系统中默认编码…

Ubuntu启动时进入禁止grub界面

在Ubuntu系统启动时&#xff0c;若中途断电会导致系统在下次启动时进入grub界面&#xff0c;这是就需要手动按回车键进入系统&#xff0c;在电脑没有键盘或者想禁止进入grub界面时可修改Ubuntu系统的配置文件使之能在进入grub界面后能自动执行进入系统。 方法一&#xff1a; 修…

进程间通讯的消息队列和共享内存方式的实现

消息队列模式 消息队列函数由msgget、msgctl、msgsnd、msgrcv四个函数组成&#xff1a; int msgget(key_t key, int msgflg)&#xff1a;得到消息队列标识符或创建一个消息队列对象并返回消息队列标识符&#xff1b; int msgctl(int msqid, int cmd, struct msqid_ds *buf):获取…

vs+qt+VAssistX搭建

vs2013qt5.3.2环境搭建&#xff1a; http://blog.csdn.net/wangell/article/details/41117139 vs2010qt5.4VAssistX环境搭建----重要的&#xff1a; http://www.kavenblog.com/?p272 vsqt环境搭建VAssisX介绍----重要的&#xff1a; http://blog.sina.com.cn/s/blog_a6fb6c…

QT中QSignalMapper类信号转发器的使用和说明

原文地址&#xff1a; http://blog.csdn.net/seanyxie/article/details/7689423 http://blog.sina.com.cn/s/blog_a6fb6cc90101epbg.html http://blog.sina.com.cn/s/blog_83e4ed0e0100yutt.html http://blog.csdn.net/mcgrady_tracy/article/details/6996947