Qt Frameless Window с DarkStyle
Простая реализация класса MainWindow с окном без рамки и пользовательским тёмным стилем. Также добавлена поддержка строки заголовка и кнопок (минимизировать, развернуть, закрыть).
Внешний вид основан на окне приложения VS2013 (плоское окно без рамки).
Скриншоты | |
---|---|
mac включён | mac выключен |
![]() |
![]() |
Здесь представлен неофициальный порт Python моей реализации.
#include "framelesswindow.h"
в main.cpp, создайте окно FramelessWindow framelessWindow;
и назначьте свой объект mainwindow как содержимое framelessWindow.setContent(mainWindow);
и покажите его framelessWindow.show();
#include "DarkStyle.h"
в main.cpp и вызовите a.setStyle(new DarkStyle);
#include <QApplication>
#include "DarkStyle.h"
#include "framelesswindow.h"
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// стиль нашего приложения с помощью пользовательского тёмного стиля
a.setStyle(new DarkStyle);
// создаём окно без рамки (и устанавливаем состояние окна или заголовок)
FramelessWindow framelessWindow;
//framelessWindow.setWindowState(Qt::WindowMaximized);
//framelessWindow.setWindowTitle("test title");
//framelessWindow.setWindowIcon(a.style()->standardIcon(QStyle::SP_DesktopIcon));
// создаем экземпляр нашего mainwindow
MainWindow *mainWindow = new MainWindow;
// добавляем mainwindow в наше пользовательское окно без рамок
framelessWindow.setContent(mainWindow);
framelessWindow.show();
return a.exec();
}
Большое спасибо Qt Forum и особенно Крису Каве за то, что он указал мне на некоторые типичные проблемы и намекнул на отличные функции, которые должны быть реализованы.
The MIT License
Copyright (c) 2018, Юрген Скротцки (https://github.com/Jorgen-VikingGod, JorgenVikingGod@gmail.com)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the «Software»), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED «AS IS», WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ГАРАНТИИ ТОВАРНОГО КАЧЕСТВА, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННЫХ ЦЕЛЕЙ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ ДРУГИЕ ОБЯЗАТЕЛЬСТВА, ВОЗНИКАЮЩИЕ В РЕЗУЛЬТАТЕ ДЕЙСТВИЙ ПО КОНТРАКТУ, ДЕЛИКТА ИЛИ ИНЫМ ОБРАЗОМ, СВЯЗАННЫЕ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ СДЕЛКАМИ В ОТНОШЕНИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )