• 6943阅读
  • 5回复

QProcess调用QT编写的程序的问题 [复制链接]

上一主题 下一主题
离线408001852
 
只看楼主 倒序阅读 楼主  发表于: 2010-03-19
在windows下,用QT作了一个主界面,里面设置一个button,点击button给他一个槽open(),该槽目的是打开用QT编好的一个应用程序   "analogclock.exe”。看了看帮助文档,以前也有为朋友给我一段代码:我把这段代码写在槽 open()里:
void MainWindows::open(){

QObject *parent;
     ...
     QString program = "./path/to/Qt/examples/widgets/analogclock";
     QStringList arguments;
     arguments << "-style" << "motif";

     QProcess *myProcess = new QProcess(parent);
     myProcess->start(program, arguments);}
里面的指针parent不知道该指向谁?中间省略号处该实现些什么?麻烦高手指导指导,
离线benbenmajia

只看该作者 1楼 发表于: 2010-03-19
网上关于这个的代码很多,google吧,我之前写过一个,就是网上的代码
安然.....
离线408001852
只看该作者 2楼 发表于: 2010-03-21
引用第1楼benbenmajia于2010-03-19 15:06发表的 :
网上关于这个的代码很多,google吧,我之前写过一个,就是网上的代码

google了一下,发现了问题,代码改写:
//****.h
#ifndef PRO_H
#define PRO_H
#include <QMainwindow>
#include <QProcess>

class MainWindow:public QWidget
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);

public slots:
void open();

private:
QProcess *mplayer;
};

#endif // PRO_H

//*****.cpp
#include "Pro.h"
#include <QtGui>
MainWindow::MainWindow(QWidget *parent)
:QWidget(parent)
{
mplayer = new QProcess;

QPushButton *pushButton = new QPushButton("OK",this);
connect(pushButton,SIGNAL(clicked()),this,SLOT (open()));
}


void MainWindow::open()
{


qDebug("11111");
mplayer->start("D:/mediaplayer/debug/mediaplayer.exe");
qDebug("22222");
}
//main.cpp
#include "Pro.h"
#include <QApplication>

int main(int argc, char *argv[])
{
QApplication app(argc,argv);
MainWindow *window = new MainWindow();
window->resize(200,200);
window->show();

return app.exec();
}
离线allxm

只看该作者 3楼 发表于: 2011-02-18
引用第2楼408001852于2010-03-21 12:30发表的 :
google了一下,发现了问题,代码改写:
//****.h
#ifndef PRO_H
#define PRO_H
.......





这能运行吗? 没试过怎么随便害人呢?
[ 此帖被allxm在2011-02-18 14:14重新编辑 ]
离线云荒
只看该作者 4楼 发表于: 2011-02-25
我被害了
行不通……
求正解~~~
离线jdwx

只看该作者 5楼 发表于: 2011-02-25
void MainWindows::open(){

QObject *parent;//去掉
     ...
     QString program = "./path/to/Qt/examples/widgets/analogclock";
     QStringList arguments;
     arguments << "-style" << "motif";

     QProcess *myProcess = new QProcess(parent);//parent 改成 this
     myProcess->start(program, arguments);}
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个