QT实例1 打开程序

2015-11-25 / 0 评论 / 10748 阅读

打开一个程序实例 

捕获.PNG

第一步 画好设计ui 

 第二步 选择submitPushButton 右击 go to slot 选择clicked() 编写函数 

第三步 函数体解析 QTcreator 自动添加槽声明 

 添加头文件 QProcess QProcess *myProcess = new QProcess(parent); //产生一个myProcess 然后调用start方法 启动此程序! 

 myProcess->start(program, arguments); 在cmdLineEdit 单行文本框中取出文件 头文件查找QLineEdit 获得取文本函数text();

 QString::trimmed () const QString str = " lots\t of\nwhitespace\r\n "; str = str.trimmed(); 函数去除字符串后的空格 // str == "lots\t of\nwhitespace"


#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QProcess>
#include <QString>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //初始submitButton 不可以使用
    ui->submitPushButton->setEnabled(false);  

    //固定窗口大小
    this->setMaximumSize(400,250);
    this->setMinimumSize(400,250);
    //LineEdit控件中textEdited的方法获得是否在输入字符!
    QObject::connect(ui->cmdLineEdit,SIGNAL(textEdited(QString)),this,SLOT(setButtonEnableSlot(QString)));
    //连接comLinedeit发出的信号监测Enter键是否按下,this对象的槽产生on_pushButton_clicked();操作!
    QObject::connect(ui->cmdLineEdit,SIGNAL(returnPressed()),this,SLOT(on_pushButton_clicked()));
}

MainWindow::~MainWindow()
{
    delete ui;
}



void MainWindow::on_pushButton_clicked()
{

    //new一个新的进程对象
    QProcess *process = new QProcess;         

    //ui上面的LineEdit的text()方法获取QString文本 
    QString startProgram=ui->cmdLineEdit->text();   

     //利用trimmed()去除QString startProgarm后面含有的空格
     process->start(startProgram.trimmed());   
    ui->cmdLineEdit->clear();           //清空cmdLineDdit
    this->close();              //关闭窗体
}
void  MainWindow::setButtonEnableSlot(QString)
{
         ui->submitPushButton->setEnabled(true);   //打开submitButton按钮
}






                

    评论一下?

    OωO
    取消