QT学习——“运行”对话框的实现
来源:互联网 发布:欠淘宝贷款200万 编辑:程序博客网 时间:2024/06/07 20:07
在我们的电脑上,按下Windows+R这个快捷键可以打开“运行”对话框,在对话框栏中输入自己想要打开的应用程
序名称即可运行应用,这几天学了一些QT的知识,所以准备动手实现一个简易的“运行”对话框。
(1)按下快捷键后,首先需要在编辑框中输入你想要启动程序的应用名,在输入之前确定按钮是不可用的,一但
有了输入按钮便能使用。名字输入正确按下回车键或者确认按钮就能打开应用,在这里面有三个信号传递:按钮,回车
键,按下按钮。
(2)取消按钮只要在信号槽中添加close函数,便可结束程序。
(3)浏览按钮则是打开文件框的操作并进行文件浏览。
下面是实现程序的代码:
widget.h:
#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QFile>#include <QTextEdit>#include <QMessageBox>#include <QTextStream>#include <QFileDialog>namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); private slots: //void setWindowText() ; //设置标题 void on_subitButton_clicked(); //启动应用程序 void setButtonEnableSlot(QString) ; //确认按钮可见 void on_cancleButton_clicked(); //关闭运行对话框 void slotOpenFileDialog() ; //打开文件private: Ui::Widget *ui; QTextEdit *showText;};#endif // WIDGET_H
main.cpp:
#include <QtGui/QApplication>#include "widget.h"int main(int argc, char *argv[]){ QApplication a(argc, argv); Widget w; w.show(); return a.exec();}
#include "widget.h"#include "ui_widget.h"#include <QProcess>Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this); this->move(0,520); //设置窗口位置 this->setWindowTitle("Runnning"); //设置窗口标题 //this->setMaximumSize(393,171) ; //窗口最大 //this->setMinimumSize(393,171) ; //窗口最小 showText = new QTextEdit(); ui->subitButton->setEnabled(false); //QObject::connect(ui->cancleButton,SIGNAL(clicked()),this,SLOT(setWindowText())); //设置标题 QObject::connect(ui->browserButton, SIGNAL(clicked()), this, SLOT(slotOpenFileDialog())); QObject::connect(ui->cmdLineEdit,SIGNAL(returnPressed()),this,SLOT(on_subitButton_clicked()));//回车启动应用程序 QObject::connect(ui->cmdLineEdit,SIGNAL(textEdited(QString)),this,SLOT(setButtonEnableSlot(QString))); //让确认键可见}Widget::~Widget(){ delete ui;}//void Widget::setWindowText() //设置标题//{// this->setWindowTitle("I am guyipeng");//}void Widget::on_subitButton_clicked() //开启一个应用程序{ QProcess * pMypro = new QProcess ; QString temp = ui->cmdLineEdit->text() ; pMypro->start(temp.trimmed()); this->close(); //关闭}void Widget::setButtonEnableSlot(QString) //让当前的确定按钮可见{ ui->subitButton->setEnabled(true);}void Widget::on_cancleButton_clicked(){ this->close();}void Widget::slotOpenFileDialog(){ QString fileName = QFileDialog :: getOpenFileName(this, NULL, NULL, "*.h *.cpp *.txt"); //---打开文件并读取文件内容 QFile file(fileName); //--打开文件成功 if (file.open(QIODevice ::ReadOnly | QIODevice ::Text)) { QTextStream textStream(&file); while (!textStream.atEnd()) { //---QtextEdit按行显示文件内容 showText->append(textStream.readLine()); } } else //---打开文件失败 { QMessageBox ::information(NULL, NULL, "open file error"); }}
运行程序后:
输入notepad后,打开notepad应用,窗口也关闭:
浏览:
阅读全文
0 0
- QT学习——“运行”对话框的实现
- qt学习之各种对话框的实现
- Qt学习——简单的对话框程序
- Qt学习——简单的对话框程序
- 我的Qt学习之路——标准对话框
- Qt学习2——对话框改写
- Qt学习笔记——对话框
- 《Qt编程的艺术》——8.2.2 实现文件选择对话框里面的功能
- Qt:可扩展对话框的实现
- Qt学习——基本对话框Q*Dialog类
- Qt学习——基本对话框Q*Dialog类 .
- QT学习——实例1:标准对话框
- Qt学习——基本对话框Q*Dialog类
- Qt之GUI学习笔记(四)——创建对话框
- Qt学习09——基本标准对话框
- Qt学习14——可拓展对话框
- QT对话框实现
- Qt标准对话框实现
- 从输入url到看到页面,发生了什么
- 微软的新一代Windows套件包管理器(OneGet)
- 互信息——事件相关性度量
- linux常用命令
- CI框架(3)-基本设置
- QT学习——“运行”对话框的实现
- 泛型类、泛型方法、泛型接口的基本格式
- Pexpect模块的pxssh扩展子模块详解
- JAVA 多线程Thread简单实例
- PAT甲级 1121. Damn Single (25)
- 51Nod-1495-中国好区间
- PHP 设置调试工具XDebug PHPStorm IDE
- Akka编写一个RPC框架,模拟多个Worker连接Master的情况的案例
- verilog入门知识【1】