Implementação simples da classe MainWindow com janela sem moldura e estilo escuro personalizado.
Ele adiciona também suporte para TitleBar e Buttons (minimize, maximize, feche)
O visual é baseado na janela do aplicativo VS2013 (janela plana e sem moldura)
| Capturas de tela | |
|---|---|
| Mac ativado | Mac desativado |
![]() | ![]() |
Aqui está uma porta python não oficial da minha implementação.
#include "framelesswindow.h" em main.cpp , crie janela FramelessWindow framelessWindow; e atribua seu objeto MainWindow como Content framelessWindow.setContent(mainWindow); e mostre -o framelessWindow.show();#include "DarkStyle.h" em main.cpp e ligue para 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);
// style our application with custom dark style
QApplication::setStyle(new DarkStyle);
//QApplication::setPalette(QApplication::style()->standardPalette());
// create frameless window (and set windowState or title)
FramelessWindow framelessWindow;
//framelessWindow.setWindowState(Qt::WindowMaximized);
//framelessWindow.setWindowTitle("test title");
//framelessWindow.setWindowIcon(a.style()->standardIcon(QStyle::SP_DesktopIcon));
// create our mainwindow instance
MainWindow *mainWindow = new MainWindow;
// add the mainwindow to our custom frameless window
framelessWindow.setContent(mainWindow);
framelessWindow.show();
return a.exec();
}
Muito obrigado vai ao Fórum QT e, especialmente, a Chris Kawa por me apontar para alguns problemas habituais e dicas de grande deve ter recursos.
A licença do MIT
Copyright (c) 2018, Juergen Skrotzky (https://github.com/jorgen-vikinggod, [email protected])
A permissão é concedida, gratuita, a qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados (o "software"), para lidar com o software sem restrição, inclusive sem limitação os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, mobilizar o software e/ou vender cópias do software e permitir que as pessoas a quem
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou em partes substanciais do software.
O software é fornecido "como está", sem garantia de qualquer tipo, expresso ou implícito, incluindo, entre outros, as garantias de comercialização, aptidão para uma finalidade específica e não innoculação. Em nenhum caso os autores ou detentores de direitos autorais serão responsáveis por qualquer reclamação, danos ou outro passivo, seja em uma ação de contrato, delito ou não, decorrente de, fora ou em conexão com o software ou o uso ou outras negociações no software.