Это зависит от того, как именно выполняется ваш графический интерфейс.
Что касается значка, самый простой и последовательный способ его установки - через QGuiApplication :: windowIcon . Это установит значок для всех окон и диалогов приложения:
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
app.setWindowIcon(QIcon(":/MyAppIcon.png"));
QQmlApplicationEngine engine;
engine.load(QUrl("qrc:/main.qml"));
// ...
Для заголовка окна, если вы используете Window или ApplicationWindow, взгляните на свойство Window :: title , например ::
import QtQuick 2.0
import QtQuick.Controls 2.2
ApplicationWindow {
width: 800
height: 600
title: qsTr("Hello World")
}
Обновление:
Если вам нужно больше настроек, таких как изменение цвета фона строки заголовка, то вам придется использовать собственные средства платформы для этого. Я предполагаю, что это связано с тем, что такие вещи сильно зависят от платформы и даже могут быть невозможны в некоторых системах, поэтому Qt не предоставляет API для таких задач.
Вы можете попытаться получить дескриптор окна платформы QQuickWindow (который является QWindow), используя QWindow :: winId и использовать, например, Windows API для рисования. Здесь - аналогичный пост, который вы можете посмотреть, чтобы начать.
Однако имейте в виду, что это означает, что вы должны внедрить в свой проект код для конкретной платформы, поэтому лучше оберните его, если Windows - не единственная цель для вашего приложения.
Альтернативой может быть запрос на создание окна полностью без системной строки заголовка. Чем вы можете нарисовать пользовательскую строку заголовка полностью в QML. Однако это означает, что вам придется «воссоздать» строку заголовка окна Windows и - если это необходимо - также сделать то же самое для других ОС, на которых вы хотите запустить свое приложение (или жить с тем фактом, что приложение выглядит «чужим» "на не Windows). Тем не менее, это может восприниматься как плохое пользователями, которые предпочитают иметь единообразный внешний вид для всех приложений.