我正在编写一个应用程序来使用QT启动一个kiosk应用程序,而且我的性能非常低。通过使用铬,我可以通过添加一些命令行参数( --disable-gpu-blacklist
是其中之一)来解决这个问题。
我相信这些参数可以传递给QtWebEngineProcess,但是我找不到方法,因为Qt应用程序会自动启动它。
那我该怎么做呢?
发布于 2019-03-24 02:10:19
读取使用命令行参数
您可以通过以下命令行作为参数传递:
your_app --ignore-gpu-blacklist
或者将其添加到argc和argv中:
#include <QApplication>
#include <QWebEngineView>
int main(int argc, char *argv[])
{
// https://stackoverflow.com/a/43373070/6622587
std::vector<char*> new_argv(argv, argv + argc);
new_argv.push_back(const_cast<char *>("--ignore-gpu-blacklist"));
new_argv.push_back(nullptr);
argv = new_argv.data();
argc = argc + 1;
QApplication a(argc, argv);
QWebEngineView w;
w.load(QUrl("chrome://gpu"));
w.show();
return a.exec();
}
它还可以通过环境变量来设置:
QTWEBENGINE_CHROMIUM_FLAGS="--ignore-gpu-blacklist" ./your_app
或
qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--ignore-gpu-blacklist");
QApplication a(argc, argv);
https://stackoverflow.com/questions/55319933
复制相似问题