在 QtCreator 中创建了一个 Qt Quick 应用程序。我需要使用标题和按钮来删除窗口的标题以关闭、最小化。
我找到了有关如何使用 MainWindow 窗口类删除应用程序中的标题栏的信息。为此,请在 MainWindow 构造函数中设置标志this->setWindowFlags(Qt::FramelessWindowHint)
。如果我的窗口是通过创建的,则无法弄清楚如何设置此标志
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
或者也许在使用 QML 的应用程序中这样做会有所不同?
如果你能帮我解决这个问题,我会很高兴。
文件main.qml
:
import QtQuick 2.12
import QtQuick.Window 2.12
Window {
visible: true
width: 1280
height: 900
title: qsTr("Browser")
...
}
QtCreatormain.cpp
生成的文件:
#include <QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
const QUrl url(QStringLiteral("qrc:/main.qml"));
QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
&app, [url](QObject *obj, const QUrl &objUrl) {
if (!obj && url == objUrl)
QCoreApplication::exit(-1);
}, Qt::QueuedConnection);
engine.load(url);
return app.exec();
}
试试这个方法: