Qt 4.7.1では、ボタンをクリックするとWindowsフォトビューアーを起動しようとしています。ここでVS2010ウィンドウサブシステムにコンソールを表示せずにQtを表示する
は、私はVS2010で設定したデモプロジェクトです:
// Container.h
#pragma once
#include <QtCore/QtCore>
#include <QtGui/QtGui>
#include <cstdlib>
class Container : public QObject{
Q_OBJECT
public:
QPushButton* m_button;
Container(){
m_button = new QPushButton("Open Image");
bool status = connect(m_button, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
}
public slots:
void onButtonClicked(){
// works, with console popup:
system(<path to image>);
// doesn't work:
// QProcess::execute(<path to png>);
}
};
とメインファイル:
// Main.cpp
#include "stdafx.h"
#include "Container.h"
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
Container c;
c.m_button->show();
return app.exec();
}
私は背景を希望していないために私のサブシステムは、Windowsに設定されていますコンソール:
問題が発生しました。私はコンソールウィンドウを表示せずに画像を表示したいと思います。システムコール()は、コンソールを少し開いて閉じ、画像を表示します。例の呼び出しは次のようになります。
system("G:\\image.png");
このコンソールを使用しないで画像を表示するにはどうすればよいですか? 事前に感謝します!
EDIT:このポストはの重複している可能性があり指摘されている: Qt Execute external program
申し訳ありませんが、私は解決策が説明したが、それは動作して得ることができませんでした試みました。私の特別なケースでは、私はサブシステムが役割を果たすと思います。
[Qt外部プログラムを実行する](http://stackoverflow.com/questions/19442400/qt-execute-external-program) – LogicStuff