How to create VS2013 like frameless window with dark style
-
@mrjj said in How to create VS2013 like frameless window with dark style:
Hi
You still using same frameless for both
framelessWindow.setContent(mainwindow);
framelessWindow.setContent(mainwindow2);what can i do about this?
i use 2 frameless in my test too but the output is second window doesn't show (only a empty frameless window show)also i use this code in mainwindow.cpp to show new window and hide old one
void MainWindow::on_pushButton_clicked() { // ----- Hide old Window and show new window ----- // hide(); mainwindow2 = new MainWindow2(this); }
-
@saeid0034
so you did try with
FramelessWindow framelessWindow;
FramelessWindow framelessWindow2;and it wont show ?
also the on_pushButton_clicked will just make a new one and NOT USE frameless as you dont add that ot it like you do in main.
-
@mrjj said in How to create VS2013 like frameless window with dark style:
@saeid0034
so you did try with
FramelessWindow framelessWindow;
FramelessWindow framelessWindow2;and it wont show ?
also the on_pushButton_clicked will just make a new one and NOT USE frameless as you dont add that ot it like you do in main.
what can i do?
you mean i need somthing like this in my mainwindow.cpp?void MainWindow::on_pushButton_clicked() { // ----- Hide old Window and show new window ----- // hide(); // style our application with custom dark style setStyle(new DarkStyle); // create frameless window (and set windowState or title) FramelessWindow framelessWindow2; //framelessWindow.setWindowState(Qt::WindowMaximized); framelessWindow2.setWindowTitle(".r"); 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(); //mainwindow2 = new MainWindow2(this); }
sorry for asking lots of question (and sorry about mistake in framelessWindow2.setWindowTitle in above code)
-
Hi
seems ok.
Yes you need to to the same each time you create a Window you want to be frame lessone thing.
setStyle(new DarkStyle);
that sets on the current MainWindow and i thnik you need that on the new one
// create our mainwindow instance
MainWindow2 *mainwindow2 = new MainWindow2;
mainwindow2 -> setStyle(new DarkStyle);- sorry for asking lots of question
That is quite allright :)
- sorry for asking lots of question
-
@mrjj said in How to create VS2013 like frameless window with dark style:
Hi
seems ok.
Yes you need to to the same each time you create a Window you want to be frame lessone thing.
setStyle(new DarkStyle);
that sets on the current MainWindow and i thnik you need that on the new one
// create our mainwindow instance
MainWindow2 *mainwindow2 = new MainWindow2;
mainwindow2 -> setStyle(new DarkStyle);- sorry for asking lots of question
That is quite allright :)
i tested it with following code
hide(); // create frameless window (and set windowState or title) FramelessWindow framelessWindow2; //framelessWindow.setWindowState(Qt::WindowMaximized); framelessWindow2.setWindowTitle(".r"); framelessWindow2.setWindowIcon(QIcon(":/png/sr-removebg-preview.png")); // create our mainwindow instance MainWindow2 *mainwindow2 = new MainWindow2; mainwindow2 -> setStyle(new DarkStyle); // add the mainwindow to our custom frameless window framelessWindow2.setContent(mainwindow2); framelessWindow2.show(); //mainwindow2 = new MainWindow2(this);
but again it show me only a blank frameless window of my second ui file
one other point is as you can see WindowTitle is test (i use this title in my frist windown in main.cpp) its not use new WindowTitle i set in above code
- sorry for asking lots of question
-
Hi
Sorry was not paying enough focus.You cannot do
FramelessWindow framelessWindow2;as it will run out of scope. That only works in main.cpp
you MUST new them as you do with MainWindow
-
@mrjj said in How to create VS2013 like frameless window with dark style:
Hi
Sorry was not paying enough focus.You cannot do
FramelessWindow framelessWindow2;as it will run out of scope. That only works in main.cpp
you MUST new them as you do with MainWindow
how can i add new FramelessWindow framelessWindow2 in main.cpp and then use it on
void MainWindow::on_pushButton_clicked()
in mainwindow.cpp? -
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