Russian Qt Forum
Ноябрь 25, 2024, 07:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: не получается запустить приложение QProcess из программы  (Прочитано 3799 раз)
helga1917
Гость
« : Август 29, 2013, 15:15 »

Нужно, чтоб при клике на кнопку, запускалось приложение.
Код:
MainWindow::MainWindow()

{  more = new QProcess(this);
   QPushButton *but = new QPushButton;
   setCentralWidget(but);
   connect(but, SIGNAL(clicked()),this,SLOT (vvod()));



}
void MainWindow::vvod()
{

    more.start("C:/Qt_myProgramm/build-textVvod-Desktop-Debug/debug/textVvod"); //путь до .exec
    more.waitForFinished(50000);
}
Выдает ошибки:
C:\Qt_myProgramm\popitkaProcess\mainwindow.cpp:-1: In member function 'void MainWindow::vvod()':
C:\Qt_myProgramm\popitkaProcess\mainwindow.cpp:16: ошибка: request for member 'start' in '((MainWindow*)this)->MainWindow::more', which is of non-class type 'QProcess*'
C:\Qt_myProgramm\popitkaProcess\mainwindow.cpp:17: ошибка: request for member 'waitForFinished' in '((MainWindow*)this)->MainWindow::more', which is of non-class type 'QProcess*'
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #1 : Август 29, 2013, 15:23 »

1. обращения к функциям-членам класса через указатель на обьект класса осуществляется оператором ->  ;
2. И еще мне кажется, что вы забыли подключить файл заголовка для QProcess .
Записан
helga1917
Гость
« Ответ #2 : Август 29, 2013, 15:36 »

Цитировать
1. обращения к функциям-членам класса через указатель на обьект класса осуществляется оператором ->  ;
Да, точно. это помогло  Улыбающийся
Цитировать
2. И еще мне кажется, что вы забыли подключить файл заголовка для QProcess
а разве для QProcess нужен отдельный заголовочник?
Код:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QProcess>
#include <QPushButton>
class MainWindow : public QMainWindow
{
    Q_OBJECT
   
public:
    MainWindow();
    QProcess *more;
void vvod();


};

#endif // MAINWINDOW_H

Сейчас все компилируется но процесс не выполняется Грустный
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #3 : Август 29, 2013, 15:37 »

сперва выучить С++!
Записан
helga1917
Гость
« Ответ #4 : Август 29, 2013, 15:45 »

вот я этим и занимаюсь Улыбающийся
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #5 : Август 29, 2013, 15:51 »

этим надо заниматься до использования Qt, а не параллельно
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
helga1917
Гость
« Ответ #6 : Август 29, 2013, 15:54 »

здесь, скорее всего не правильно использую слово this, но как правильно, не понимаю
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #7 : Август 29, 2013, 15:58 »

Сейчас все компилируется но процесс не выполняется Грустный
Как вы это определяете ?
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #8 : Август 29, 2013, 15:58 »

А почему vvod не в секции slots?
Записан
helga1917
Гость
« Ответ #9 : Август 30, 2013, 07:46 »

Цитировать
Как вы это определяете ?
процесс который запускается, должен прописывать строчку в .txt
после того, как программа скомпилирована и выполнена, в .txt ничего нет
Записан
helga1917
Гость
« Ответ #10 : Август 30, 2013, 07:47 »

Цитировать
А почему vvod не в секции slots?

ну капец...  Улыбающийся не заметила даже
спасибо, все работает
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 23.