• 6067阅读
  • 8回复

关于启动多个程序 [复制链接]

上一主题 下一主题
离线溟阡
 
只看楼主 正序阅读 楼主  发表于: 2009-02-16
— 本帖被 XChinux 执行加亮操作(2009-02-17) —
代码已经贴上了,在4楼



class A{
//这个界面上有一个QPushButton
}
class B{
//这个类是一个QMainWindow
}
这两个类分别有自己的主函数,两个界面都可以单独运行

点击了A中的button后要打开B界面,我用QProcess实现了这个功能。
但是当我第二次点击button按钮后A界面就关闭了,这是为什么?
我希望当再次点击button时能够打开第二个B界面
麻烦各位大侠多多指点~
[ 此贴被溟阡在2009-02-17 11:35重新编辑 ]
离线溟阡
只看该作者 8楼 发表于: 2009-02-18
找到问题所在:

QObject *p;
这一行改成:
QObject *p=new QObject;
问题就解决了
离线weizhy
只看该作者 7楼 发表于: 2009-02-18
把代码全贴出来看看吧,我用过,也是这个方法,问题不在这里
离线溟阡
只看该作者 6楼 发表于: 2009-02-18
拜托帮帮忙啊~~~
离线溟阡
只看该作者 5楼 发表于: 2009-02-17
不要沉……
离线溟阡
只看该作者 4楼 发表于: 2009-02-17
//A类代码:就一个Widget上面有一个按钮
A::A(QWidget *parent) : QWidget(parent) {
    QPushButton *button = new QPushButton("aaa");
    connect(button, SIGNAL(clicked()),this, SLOT(open()));
    QHBoxLayout* hblayout = new QHBoxLayout;
    hblayout->addWidget(button);
    setLayout(hblayout);
}
void A::open() {
    QObject *p;
    QString program = "../这里是路径";
    QStringList arguments;
    arguments << B;
    QProcess *myProcess = new QProcess(p);
    myProcess->start(program, arguments);
}
//B类是一个MainWindow,就是书上的例子
B::B(QWidget* parent) :
    QMainWindow(parent) {


A类和B类有各自的main.cpp并且都可以单独运行。
A运行后第一次点击按钮,打开B;第二次点击按钮,A关闭了,B还在。
找不出原因……
麻烦各位大侠帮看看~
离线XChinux

只看该作者 3楼 发表于: 2009-02-16
帖代码看看
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线溟阡
只看该作者 2楼 发表于: 2009-02-16
没人……
离线溟阡
只看该作者 1楼 发表于: 2009-02-16
不要沉……
快速回复
限100 字节
 
上一个 下一个