Запустить скрипт Python из QTDesigner - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь запустить скрипт Python из приложения QTDesigner.

У меня есть код C ++ в приложении QT как

void RPlatform::handleButtonClicked(){
    QString TrainFolder = ui->trainfolder->text();
    QString TrainSize = ui->trainsize->text();
    QString TestSize = ui->testsize->text();
    QString TrainBatchSize = ui->trainbatchsize->text();
    QString TestBatchSize = ui->testbatchsize->text();
    QString OptType=ui->optimization->currentText();
    QString NumClasses=ui->numclasses->text();
    QString Blr=ui->blr->text();
    QString Gamma=ui->gamma->text();
    QString WH=ui->wh->text();
    QString Bid=ui->backgroundID->text();
    QString SelectedModels="";
    if(ui->regnetCB->isChecked())
         SelectedModels = "RegNet";
    else if(ui->resnetCB->isChecked())
         SelectedModels = "ResNet";
    else if(ui->inceptionnetCB->isChecked())
         SelectedModels = "InceptionNet";
    else if(ui->regnetCB->isChecked() && ui->resnetCB->isChecked())
         SelectedModels = "RegNetResNet";
    else if(ui->regnetCB->isChecked() && ui->inceptionnetCB->isChecked())
         SelectedModels = "RegNetInceptionNet";
    else if(ui->resnetCB->isChecked() && ui->inceptionnetCB->isChecked())
         SelectedModels = "ResNetInceptionNet";
    else if(ui->regnetCB->isChecked() && ui->resnetCB->isChecked() && ui->inceptionnetCB->isChecked())
         SelectedModels = "RegNetResNetInceptionNet";
    QStringList arguments=QStringList() <<  "/home/Softwares/Projects/caffe-ssd-2/Prototxtfiles/NumberPlate/NetworkArchitecture/GUI.py" << SelectedModels << TrainFolder << TrainSize << TestSize << TrainBatchSize << TestBatchSize << OptType << NumClasses << Blr << Gamma << WH << Bid;
    //QString path="/home/Softwares/Projects/caffe-ssd-2/Prototxtfiles/NumberPlate/NetworkArchitecture";
    QProcess *myprocess=new QProcess(this);
    myprocess->start("python",arguments);
    myprocess->waitForFinished();
    myprocess->close();
}

Мой код Python выглядит следующим образом.

class GUIMain:
      def __init__(self, Models,TrainFolder, TrainSize, TestSize, BatchSize, TestbatchSize, Optimization, NumClasses, BaseLr, gamma, W_H, backID):      
        self.ModelSelection=Models
        self.imageSize=[W_H,W_H,3]
        self.train_data='TrainFolder/'+'lmdb/NumberPlate_trainval_lmdb'
        self.test_data='TrainFolder/'+'lmdb/NumberPlate_test_lmdb'
        self.label_map_file='TrainFolder/'+'labelmap_NumberPlate.prototxt'
        self.name_size_file = 'TrainFolder/'+'test_name_size.txt'
        self.pretrain_model=''
        self.numClasses=NumClasses
        self.num_test_image=TestSize
        self.num_total_train_images=TrainSize
        self.test_batch_size=TestbatchSize
        self.base_lr=BaseLr
        self.gamma=self.gamma
        self.batch_size_per_device=BatchSize
        self.background_label_id=backID
        self.opt_type=Optimization
        print("path "+TrainFolder)

if __name__ == '__main__':
    GUIMain(Models,TrainFolder, TrainSize, TestSize, BatchSize, TestbatchSize, Optimization, NumClasses, BaseLr, gamma, W_H, backID)

Мой скрипт на Python сам по себе может работать. Но когда я запускаю из Qt, я не вижу ни одного приложения, работающего в списке процессов, который я проверял командой TOP в Ubuntu.

Как посмотреть распечатку скрипта Python в этом случае?

Как я могу проверить, что Python работает успешно?

...