How to create VS2013 like frameless window with dark style
-
Hi you dont need to add it there you can add anywhere but you must NEW it then
and not as local variable as then it runs out of scope.
So what i mean is just to do
FramelessWindow * framelessWindow2 = new FramelessWindow ;and not just
FramelessWindow framelessWindow2; // this is a local variable and as soon as
on_pushButton_clicked ends , it will be deletedso you have to new it
-
@mrjj said in How to create VS2013 like frameless window with dark style:
FramelessWindow * framelessWindow2 = new FramelessWindow ;
thanks
i do what you say
this time second window open when i click button
but old blank frameless window still open toovoid MainWindow::on_pushButton_clicked() { // ----- Hide old Window and show new window ----- // hide(); FramelessWindow * framelessWindow2 = new FramelessWindow ; // style our application with custom dark style setStyle(new DarkStyle); //framelessWindow.setWindowState(Qt::WindowMaximized); framelessWindow2->setWindowTitle("test"); framelessWindow2->setWindowIcon(QIcon(":/png/sr-removebg-preview.png")); // create our mainwindow instance MainWindow2 *mainwindow2 = new MainWindow2; // add the mainwindow to our custom frameless window framelessWindow2->setContent(mainwindow2); framelessWindow2->show(); }
-
@saeid0034
The other empty one, is that from you create 2 in main.cpp or
do you only create one there? -
@mrjj said in How to create VS2013 like frameless window with dark style:
@saeid0034
The other empty one, is that from you create 2 in main.cpp or
do you only create one there?i only create one
i send the code im used -
@saeid0034
Ok i think we need to hide the parent too.
instead of
// ----- Hide old Window and show new window ----- //
hide();
try
parentWidget()->hide();
to hide the framelss instead of the MainWIn we put inside. -
@saeid0034
Hmm so apparently the FrameLess is not the actual parent. must be a holding frame or something.
(i dont have it installed )try
if (parentWidget()->parentWidget())
parentWidget()->parentWidget()->hide();and see if thats enough :)
-
@saeid0034
But its not on screen any more?
Is that with alt+tab ? -
@mrjj said in How to create VS2013 like frameless window with dark style:
@saeid0034
But its not on screen any more?
Is that with alt+tab ?yes it not on screen anymore but still open
yest i take screen shot from alt+tab
-
@saeid0034
Hmm very odd. I think it might be something stil from FrameLess but not sure what it is. -
@mrjj said in How to create VS2013 like frameless window with dark style:
@saeid0034
Hmm very odd. I think it might be something stil from FrameLess but not sure what it is.you think there is no way to fix that?
i use it for my whole project -
@saeid0034
Hi
Im pretty sure all of it can be hidden as its just widgets but not sure
what that invisible caption really is.
inside it just does
ui->windowContent->layout()->addWidget(w);so parentWidget()->parentWidget()->hide(); should do it but
maybe there is something else it creates like maybe the fake caption we can see of something like that. -
@saeid0034
Dont worry, we will nail it.replace
if (parentWidget()->parentWidget()) parentWidget()->parentWidget()->hide();
with
auto w = parentWidget(); while ( w ) { w->hide(); w = w->parentWidget(); }
this hides the sample it comes with. Nothing in alt+tab after. So i cross fingers :)
-
@saeid0034
Ok good :)
so it really has many parts :)