Qt 解析命令行参数
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQuickView>
#include <QCommandLineParser> int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QGuiApplication::setApplicationName("Qt"); // 应用名称
QGuiApplication::setApplicationVersion("0.1"); // 应用版本号 QCommandLineParser parser;
parser.setApplicationDescription(QGuiApplication::translate("main", "Qt")); // 设置应用程序描述信息 parser.addHelpOption(); // 添加帮助选项 ("-h" 或 "--help")
parser.addVersionOption(); // 添加版本选项 ("-v" 或 "--version") parser.setSingleDashWordOptionMode(QCommandLineParser::ParseAsLongOptions); // 举例说明:将 "-adb" 当成一个选项来看,而不是看成 "-a -b -c" // parser.addPositionalArgument("xxx", QGuiApplication::translate("main", "?????? undefined")); QCommandLineOption widthOption(QStringList() << "wid" << "width",
QGuiApplication::translate("main", "Width of the covered area (default is 800)."),
QGuiApplication::translate("main", "width"), "");
parser.addOption(widthOption); QCommandLineOption heightOption(QStringList() << "hei" << "height",
QGuiApplication::translate("main", "Height of the covered area (default is 480)."),
QGuiApplication::translate("main", "height"), "");
parser.addOption(heightOption); QCommandLineOption xOption(QStringList() << "x",
QGuiApplication::translate("main", "The x coordinate of the covered area (default is 0)."),
QGuiApplication::translate("main", "x"), "");
parser.addOption(xOption); QCommandLineOption yOption(QStringList() << "y",
QGuiApplication::translate("main", "The y coordinate of the covered area (default is 0)."),
QGuiApplication::translate("main", "y"), "");
parser.addOption(yOption); QCommandLineOption colorOption(QStringList() << "c" << "color",
QGuiApplication::translate("main", "The color of the covered area (default is black)."),
QGuiApplication::translate("main", "color"), "black");
parser.addOption(colorOption); parser.process(app); // const QStringList args = parser.positionalArguments(); int width = parser.value(widthOption).toInt();
int height = parser.value(heightOption).toInt();
if ( > width || > height) {
fprintf(stderr, "%s\n", qPrintable(QGuiApplication::translate("main", "Error: Invalid format argument. "
"Width and height must be greater than 0.")));
parser.showHelp();
}
int x = parser.value(xOption).toInt();
int y = parser.value(yOption).toInt();
QString color = parser.value(colorOption); QQuickView view;
view.setGeometry(x, y, width, height);
view.setColor(QColor(color));
view.setFlags(Qt::FramelessWindowHint);
// view.setSource(QUrl("qrc:/main.qml"));
view.show(); return app.exec();
}
效果:

Qt 解析命令行参数的更多相关文章
- Qt之命令行参数
		简述 在Qt之进程间通信(QProcess)一节,我们讲解了如何通过QProcess来进行进程间的通信.主要通过启动外部程序,然后通过命令行的方式传递参数. 这里,我们可以通过Qt Creator来设 ... 
- boost之program_options库,解析命令行参数、读取配置文件
		一.命令行解析 tprogram_options解析命令行参数示例代码: #include <iostream> using namespace std; #include <boo ... 
- optparse模块解析命令行参数的说明及优化
		一.关于解析命令行参数的方法 关于“解析命令行参数”的方法我们一般都会用到sys.argv跟optparse模块.关于sys.argv,网上有一篇非常优秀的博客已经介绍的很详细了,大家可以去这里参考: ... 
- python解析命令行参数
		常常需要解析命令行参数,经常忘记,好烦,总结下来吧. 1.Python 中也可以所用 sys 的 sys.argv 来获取命令行参数: sys.argv 是命令行参数列表 参数个数:len(sys.a ... 
- linux 中解析命令行参数(getopt_long用法)
		linux 中解析命令行参数(getopt_long用法) http://www.educity.cn/linux/518242.html 详细解析命令行的getopt_long()函数 http:/ ... 
- C语言中使用库函数解析命令行参数
		在编写需要命令行参数的C程序的时候,往往我们需要先解析命令行参数,然后根据这些参数来启动我们的程序. C的库函数中提供了两个函数可以用来帮助我们解析命令行参数:getopt.getopt_long. ... 
- Windows下解析命令行参数
		linux通常使用GNU C提供的函数getopt.getopt_long.getopt_long_only函数来解析命令行参数. 移植到Windows下 getopt.h #ifndef _GETO ... 
- 3.QT中QCommandLineParser和QCommandLineOption解析命令行参数
		 1 新建项目 main.cpp #include <QCoreApplication> #include <QCommandLineParser> #include & ... 
- QT解析命令行(QCommandLineOption和QCommandLineParser类)
		Qt从5.2版开始提供了两个类QCommandLineOption和QCommandLineParser来解析应用的命令行参数. 一.命令行写法命令行:"-abc" 在QComma ... 
随机推荐
- 基于 Ant Desigin 的后台管理项目打包优化实践
			背景 按照 Ant Design 官网用 React 脚手构建的后台项目,刚接手项目的时候大概30条路由左右,我的用的机子是 Mac 8G 内存,打包完成需要耗时2分钟左右,决定优化一下. 项目技术栈 ... 
- [CF859C] Pie Rules - dp,博弈论
			有一个长度为n的序列,Alice和Bob在玩游戏.Bob先手掌握决策权. 他们从左向右扫整个序列,在任意时刻,拥有决策权的人有如下两个选择: 将当前的数加到自己的得分中,并将决策权给对方,对方将获得下 ... 
- php 对接国外支付 ipay88支付
			ipay88支付 近期接了一个国外的项目,客户指定要这种支付,就搞搞呗,其实流程和思路都是差不多的,往下看 他的流程其实非常简单 下面的流程仔细看看,看懂了就会了 1 首先我们需要先获取下单所需要的 ... 
- jQuery---版本问题
			jQuery的版本 官网下载地址:http://jquery.com/download/ jQuery版本有很多,分为1.x 2.x 3.x 大版本分类: 1.x版本:能够兼容IE678浏览器 2.x ... 
- batchsize用法 平均准确度和平均损失,以及实现前向运算的矩阵乘法方式,loss怎么反向传播的
			batchsize用法 平均准确度和平均损失,以及实现前向运算的矩阵乘法方式,loss怎么反向传播的 待办 使用batchsize可以把矩阵缩小,采用矩阵乘法的形式可以一次计算多个经过神经网络的结果, ... 
- conn  (php)
			<?php$host="localhost";$db_user="root"; //数据库用户$db_pass=""; //数据库密码 ... 
- 怎么编写API和或者自己不属于知识小案例demo程序
			再使用一个函数,进行测试的调用,然后进行调用这样就不需要再为makefile什么,还有就是改什么鬼东西烦恼了. 然后把需要的功能进行分解就行了. 
- 优酷1080p的kux格式文件转码
			@echo off for /r . %%i in (*.kux) do ( "C:\Program Files (x86)\YouKu\YoukuClient\nplayer\ffmpeg ... 
- 函数match应打印s中从ch1到ch2之间的所有字符,并且返回ch1的地址。
			1 char *match( char *s, char ch1, char ch2 ){ ; ; ; while(s[len]){ len++; } *len+];//防止s字符串全满导致t溢出 * ... 
- Python_递归函数
			楔子 在讲今天的内容之前,我们先来讲一个故事,讲的什么呢?从前有座山,山里有座庙,庙里有个老和尚讲故事,讲的什么呢?从前有座山,山里有座庙,庙里有个老和尚讲故事,讲的什么呢?从前有座山,山里有座庙,庙 ... 
