文章目录

  • 1 文本编辑器中命令行参数的应用

1 文本编辑器中命令行参数的应用

我们要知道对于每一个应用程序我们都能够接收命令行参数,那么对于GUI系统中命令行参数如何传递到应用程序呢?

主要有如下两种方式:

  1. 传统应用方式:在命令行启动GUI程序时传递参数。
  2. 操作系统关联方式:在文件被双击时,操作系统根据文件后缀选择应用程序,操作系统会将文件路径作为命令行参数启动应用程序。

我们需要提供一个公有的文件打开接口:

void MainWindow::openFile(QString path)
{preEditorChange();if( !m_isTextChanged ){openFileToEditor(path);}
}

对main函数进行修改即可:

#include <QtGui/QApplication>
#include <QFileInfo>
#include "MainWindow.h"int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow* w = MainWindow::NewInstance();int ret = -1;if( w != NULL ){if( argc > 1 ){QFileInfo fi(argv[1]);if( fi.exists() ){w->openFile(fi.absoluteFilePath());}}w->show();ret = a.exec();}delete w;return ret;
}

参考资料:

  1. QT实验分析教程

文本编辑器中命令行参数的应用相关推荐

  1. 《Linux指令从入门到精通》——4.3 Linux下全屏幕文本编辑器的命令行方式

    本节书摘来自异步社区<Linux指令从入门到精通>一书中的第4章,第4.3节,作者:宋磊 , 宋馥莉 , 雷文利著,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  2. c++笔记(1):C++中命令行参数argc,argc[ ]究竟是什么

    C++中命令行参数argc,argc[ ]究竟是什么 1.argc为整数 2.argv为指针的指针(可理解为:char **argv or: char *argv[] or: char argv[][ ...

  3. Go语言中命令行参数的实现

    为什么80%的码农都做不了架构师?>>>    在写命令行程序时,对命令参数进行解析是常见的需求.各种语言一般都会提供解析命令行参数的方法或库,以方便程序员使用.如果命令行参数纯粹自 ...

  4. python 命令行参数-python中命令行参数

    python中有一个模块sys,sys.argv这个属性提供了对命令行参数的访问.命令行参数是调用某个程序时除程序名外的其他参数. sys.argv是命令行参数的列表 len(sys.argv)是命令 ...

  5. 在c语言中命令行参数是什么,C语言命令行参数

    这是可能在命令行中的一些值传递给C程序执行.特别是从参数传入,而不是外界硬编码写入这些值到代码控制程序中,这些值被称为命令行参数,很多时候,它们对程序很重要. 命令行参数使用main()函数的参数,其 ...

  6. c语言中命令行参数argc,argv[]详解

    argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0 ...

  7. python获取命令行参数_【整理】Python中如何获得并处理命令行参数

    运行Python脚本时,时常需要从命令行中传递一些参数到Python程序中,但是如何获得相应的传递进来的参数,以及如何解析这些参数,是很多人,包括最开始的我,所遇到的问题. 下面,就对此总结一下: 先 ...

  8. Python的命令行参数解析

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 命令行参数解析在编程语言中基本都会碰到,Python中内置了一个用于命令项选项与参数解析的模块argparse.下 ...

  9. java中的命令行参数_Java中的命令行参数

    java中的命令行参数 Command-line arguments in Java are used to pass arguments to the main program. If you lo ...

最新文章

  1. javafx_JavaFX在这里留下来!
  2. Qt文档阅读笔记-Qt Quick Examples - Text 初步解析
  3. 万字长文带你从零开始认识机器学习
  4. SpringBoot 中的事务处理 @Transactional
  5. SylixOS电源管理之外设功耗管理
  6. java删除mysql 数据库语句怎么写_怎么用JAVA语句在Mysql中查询,添加,删除语句,说的详细点,谢谢!...
  7. IntelliJ IDEA学习总结(1)——IntelliJ IDEA 介绍
  8. win10 mysql zip 安装教程_windows10+mysql8.0.11zip安装教程详解
  9. Android之MVC模式
  10. 互联网名词解释(通用、运营、广告、APP推广、移动推广、APP运营、商务模式、职位、客户管理)
  11. 游戏脚本代码大全_如何用5行Python代码写出刷分游戏脚本!Python真牛!
  12. 【CS61A】学习笔记
  13. javaMail发送电子邮件
  14. zipOutputStream压缩后用RAR解压出现“不可预料的压缩文件末端”错误
  15. itunes下载管理appstore老版本app
  16. java解析HL7协议报文工具 HAPI(SpringBoot版本)
  17. 内存卡没有Android,安卓内存卡读不出来怎么办
  18. 算法-程序与系统的灵魂
  19. 基于soap 的 python web services 服务开发指南
  20. 数学基础——矩阵学习

热门文章

  1. 4.7 CNN 特征可视化-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  2. STM32 基础系列教程 28 - USB_DFU
  3. 超强整理!PCB设计之电流与线宽的关系
  4. C++类的成员变量和成员函数
  5. eclipse的tomcat插件使用下载(转)
  6. 这个男人让你的爬虫开发效率提升8倍
  7. glob及IO重定向
  8. Spring MVC 返回视图时添加的模型数据------POJO
  9. v-show和v-if的区别
  10. Lync Server 2013与OWA的集成