QCommandLineParser и QWebEngineView
Если не использовать QCommandLineParser, то программа принимает опции --remote-debugging-port=8052 и другие, что предоставляет QWebEngineView.
Но если забрать опции в QCommandLineParser, то получаю : Unknown option 'remote-debugging-port'.
Как совместить 2 парсера?
#include "mainwindow.h"
#include <QApplication>
#include <QUrl>
#include "eprinter.h"
#include <QCommandLineParser>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QCoreApplication::setApplicationName("webapp");
QCoreApplication::setApplicationVersion("1.0");
QCommandLineParser parser;
parser.addHelpOption();
parser.addVersionOption();
parser.addPositionalArgument("source", "URL to open");
parser.addPositionalArgument("printer", "Printer device (/dev/ttyS1 or /dev/usb/lp0 ...)");
const QCommandLineOption debuggingOption(
"remote-debugging-port",
"Enable chrome debug at port", "port");
parser.addOption(debuggingOption);
parser.process(a);
const QStringList args = parser.positionalArguments();
MainWindow w;
EPrinter *printer = new EPrinter(argv[1], channel);
w.view->setUrl(QUrl(args[0]));
w.showFullScreen();
return a.exec();
}
Хочу чтоб принимались все опции Хромиума для WebEngineView, а не повторять их в своем парсере.
Например
$ ./webapp --no-experiments
webapp: Unknown option 'no-experiments'.
Ответы (1 шт):
Автор решения: eri
→ Ссылка
Опции хрома просто так добавить в парсер нельзя. Чтоб программа не обращала внимание на доп опции нужно заменить:
//parser.process(a);
parser.parse(QCoreApplication::arguments());