Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. FramelessWindowHint freezes form with QAxWidget
Forum Updated to NodeBB v4.3 + New Features

FramelessWindowHint freezes form with QAxWidget

Scheduled Pinned Locked Moved Unsolved General and Desktop
qaxwidgetframelesswindowbug
24 Posts 3 Posters 10.7k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    Tikitko
    wrote on 4 May 2016, 12:07 last edited by Tikitko 5 Apr 2016, 12:07
    #1

    An interesting problem when installing FramelessWindowHint flag all the content in the form as it is frozen, those buttons does not change when you hover style (: hover), and you can not edit the text field and more. All this happens when the form has QAxWidget. What could it be?
    Win10 x32-x64
    Qt 5.6 - 5.7

    1 Reply Last reply
    0
    • M Offline
      M Offline
      mrjj
      Lifetime Qt Champion
      wrote on 4 May 2016, 12:31 last edited by
      #2

      Hi
      That sounds odd.
      Have you tried to create the QAxWidget later ?
      Like via button.
      After window is up and running etc.
      Im wondering if QAxWidget get truma if put in
      UI and then u set FramelessWindowHint in code.

      T 1 Reply Last reply 4 May 2016, 12:43
      0
      • M mrjj
        4 May 2016, 12:31

        Hi
        That sounds odd.
        Have you tried to create the QAxWidget later ?
        Like via button.
        After window is up and running etc.
        Im wondering if QAxWidget get truma if put in
        UI and then u set FramelessWindowHint in code.

        T Offline
        T Offline
        Tikitko
        wrote on 4 May 2016, 12:43 last edited by Tikitko 5 Apr 2016, 12:44
        #3

        I do everything on pure paper for the test...
        i create 2 example photo:
        no initialized qAxWidget
        initialized qAxWidget

        M 1 Reply Last reply 4 May 2016, 12:49
        0
        • T Tikitko
          4 May 2016, 12:43

          I do everything on pure paper for the test...
          i create 2 example photo:
          no initialized qAxWidget
          initialized qAxWidget

          M Offline
          M Offline
          mrjj
          Lifetime Qt Champion
          wrote on 4 May 2016, 12:49 last edited by
          #4

          @Tikitko
          Ok, but in both cases, its included in the UI from start?
          It seems once active it dont like FramelessWindowHint

          I would look in
          https://bugreports.qt.io/secure/Dashboard.jspa

          and also test if you insert from code only
          not having it in UI .

          T 1 Reply Last reply 4 May 2016, 12:54
          0
          • M mrjj
            4 May 2016, 12:49

            @Tikitko
            Ok, but in both cases, its included in the UI from start?
            It seems once active it dont like FramelessWindowHint

            I would look in
            https://bugreports.qt.io/secure/Dashboard.jspa

            and also test if you insert from code only
            not having it in UI .

            T Offline
            T Offline
            Tikitko
            wrote on 4 May 2016, 12:54 last edited by
            #5

            @mrjj
            I tried so

            MainWindow::MainWindow(QWidget *parent) :
                QMainWindow(parent),
                ui(new Ui::MainWindow)
            {
                ui->setupUi(this);
                this->setWindowFlags(Qt::FramelessWindowHint);
            }
            

            like this

            void MainWindow::on_pushButton_clicked()
            {
                this->setWindowFlags(Qt::FramelessWindowHint);
                this->show();
            }
            

            and

            int main(int argc, char *argv[])
            {
                QApplication a(argc, argv);
                MainWindow w;
                w.setWindowFlags(Qt::FramelessWindowHint);
                w.show();
                qDebug() << w.windowFlags();
            
                return a.exec();
            }
            
            1 Reply Last reply
            0
            • M Offline
              M Offline
              mrjj
              Lifetime Qt Champion
              wrote on 4 May 2016, 12:56 last edited by
              #6

              @Tikitko said:

              setWindowFlags(Qt::FramelessWindowHint);

              ok, but the flag is not the issue. that works.

              I was thinking about
              void MainWindow::on_pushButton_clicked()
              {
              QAxWidget *Test = new QAxWidget(this);
              Test->Show();
              .. other setup

              and not have it in UI.
              just to test.

              T 1 Reply Last reply 4 May 2016, 13:06
              0
              • M mrjj
                4 May 2016, 12:56

                @Tikitko said:

                setWindowFlags(Qt::FramelessWindowHint);

                ok, but the flag is not the issue. that works.

                I was thinking about
                void MainWindow::on_pushButton_clicked()
                {
                QAxWidget *Test = new QAxWidget(this);
                Test->Show();
                .. other setup

                and not have it in UI.
                just to test.

                T Offline
                T Offline
                Tikitko
                wrote on 4 May 2016, 13:06 last edited by Tikitko 5 Apr 2016, 13:10
                #7

                @mrjj hmm
                i do this:

                void MainWindow::on_pushButton_clicked()
                {
                    QAxWidget *Test = new QAxWidget(this);
                    Test->setControl("{8856f961-340a-11d0-a96b-00c04fd705a2}");
                    Test->dynamicCall("Navigate(const  QString&)","http://vk.com/");
                    Test->show();
                }
                

                And work! this bug work when i create QAxWidget in Disigner...


                Hmm when i creat not in on_pushButton_clicked also this bug...

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  mrjj
                  Lifetime Qt Champion
                  wrote on 4 May 2016, 13:10 last edited by mrjj 5 Apr 2016, 13:11
                  #8

                  well my "theory" is that
                  if QAxWidget is assigned to a parent before FramelessWindowHint
                  then bug comes.

                  T 1 Reply Last reply 4 May 2016, 13:21
                  0
                  • M mrjj
                    4 May 2016, 13:10

                    well my "theory" is that
                    if QAxWidget is assigned to a parent before FramelessWindowHint
                    then bug comes.

                    T Offline
                    T Offline
                    Tikitko
                    wrote on 4 May 2016, 13:21 last edited by Tikitko 5 Apr 2016, 13:21
                    #9

                    @mrjj Then the solution is not to create QAxWidget in the constructor?

                    M 1 Reply Last reply 4 May 2016, 13:22
                    0
                    • T Tikitko
                      4 May 2016, 13:21

                      @mrjj Then the solution is not to create QAxWidget in the constructor?

                      M Offline
                      M Offline
                      mrjj
                      Lifetime Qt Champion
                      wrote on 4 May 2016, 13:22 last edited by mrjj 5 Apr 2016, 13:24
                      #10

                      Well I assume u tested that ?
                      Create it after setupUI and FramelessWindowHint does not make it work ?

                      If no, you can try with the showEvent
                      void maiwinxx::showEvent( QShowEvent* event ) {
                      QMainwindxx::showEvent( event );

                      // create it here.

                      }

                      T 1 Reply Last reply 4 May 2016, 13:34
                      0
                      • M mrjj
                        4 May 2016, 13:22

                        Well I assume u tested that ?
                        Create it after setupUI and FramelessWindowHint does not make it work ?

                        If no, you can try with the showEvent
                        void maiwinxx::showEvent( QShowEvent* event ) {
                        QMainwindxx::showEvent( event );

                        // create it here.

                        }

                        T Offline
                        T Offline
                        Tikitko
                        wrote on 4 May 2016, 13:34 last edited by
                        #11

                        @mrjj i create:

                        void MainWindow::showEvent( QShowEvent* event ) {
                        
                            QAxWidget *Test = new QAxWidget(this);
                            Test->setControl("{8856f961-340a-11d0-a96b-00c04fd705a2}");
                            Test->dynamicCall("Navigate(const  QString&)","http://vk.com/");
                            Test->show();
                        
                        }
                        

                        Not help...
                        Excuse me, I find it hard to understand you, because I'm Russian ...

                        M 1 Reply Last reply 4 May 2016, 13:37
                        0
                        • T Tikitko
                          4 May 2016, 13:34

                          @mrjj i create:

                          void MainWindow::showEvent( QShowEvent* event ) {
                          
                              QAxWidget *Test = new QAxWidget(this);
                              Test->setControl("{8856f961-340a-11d0-a96b-00c04fd705a2}");
                              Test->dynamicCall("Navigate(const  QString&)","http://vk.com/");
                              Test->show();
                          
                          }
                          

                          Not help...
                          Excuse me, I find it hard to understand you, because I'm Russian ...

                          M Offline
                          M Offline
                          mrjj
                          Lifetime Qt Champion
                          wrote on 4 May 2016, 13:37 last edited by
                          #12

                          @Tikitko
                          Hi, np. That was what i wanted to test.

                          So if we create it before windows is fully shown we get bug?

                          But if you create in button_click , it works?

                          T 1 Reply Last reply 4 May 2016, 13:41
                          0
                          • M mrjj
                            4 May 2016, 13:37

                            @Tikitko
                            Hi, np. That was what i wanted to test.

                            So if we create it before windows is fully shown we get bug?

                            But if you create in button_click , it works?

                            T Offline
                            T Offline
                            Tikitko
                            wrote on 4 May 2016, 13:41 last edited by
                            #13

                            @mrjj Yes, once checked, it is so ...

                            M 1 Reply Last reply 4 May 2016, 13:44
                            0
                            • T Tikitko
                              4 May 2016, 13:41

                              @mrjj Yes, once checked, it is so ...

                              M Offline
                              M Offline
                              mrjj
                              Lifetime Qt Champion
                              wrote on 4 May 2016, 13:44 last edited by
                              #14

                              @Tikitko
                              very strange!
                              I though showEvent would been same as clicked.
                              Try timer so that we first create after window fully shown.

                              // in constructor
                              QTimer *timer = new QTimer(this);
                              connect(timer, SIGNAL(timeout()), this, SLOT(nowcreate()));
                              timer->start(4000);
                              }

                              void MainWindow::nowcreate() << add this to .h also
                              {
                              qDebug() << "nowcreate";
                              // create here
                              QAxWidget *Test = new QAxWidget(this);
                              ..
                              }

                              T 1 Reply Last reply 4 May 2016, 13:47
                              0
                              • M mrjj
                                4 May 2016, 13:44

                                @Tikitko
                                very strange!
                                I though showEvent would been same as clicked.
                                Try timer so that we first create after window fully shown.

                                // in constructor
                                QTimer *timer = new QTimer(this);
                                connect(timer, SIGNAL(timeout()), this, SLOT(nowcreate()));
                                timer->start(4000);
                                }

                                void MainWindow::nowcreate() << add this to .h also
                                {
                                qDebug() << "nowcreate";
                                // create here
                                QAxWidget *Test = new QAxWidget(this);
                                ..
                                }

                                T Offline
                                T Offline
                                Tikitko
                                wrote on 4 May 2016, 13:47 last edited by
                                #15

                                @mrjj This work!

                                M 1 Reply Last reply 4 May 2016, 13:48
                                1
                                • T Tikitko
                                  4 May 2016, 13:47

                                  @mrjj This work!

                                  M Offline
                                  M Offline
                                  mrjj
                                  Lifetime Qt Champion
                                  wrote on 4 May 2016, 13:48 last edited by
                                  #16

                                  @Tikitko
                                  ok
                                  so window must be fully shown to make it happy.
                                  Good testing :)

                                  T 1 Reply Last reply 4 May 2016, 13:52
                                  0
                                  • M mrjj
                                    4 May 2016, 13:48

                                    @Tikitko
                                    ok
                                    so window must be fully shown to make it happy.
                                    Good testing :)

                                    T Offline
                                    T Offline
                                    Tikitko
                                    wrote on 4 May 2016, 13:52 last edited by Tikitko 5 Apr 2016, 13:53
                                    #17

                                    @mrjj Thank you very much for your help! So show window, and then create a widget ... So still the question, it is a bug Qt or something else? The problem can be considered solved only in the bug tracker you need to add ...

                                    M 1 Reply Last reply 4 May 2016, 13:55
                                    0
                                    • T Tikitko
                                      4 May 2016, 13:52

                                      @mrjj Thank you very much for your help! So show window, and then create a widget ... So still the question, it is a bug Qt or something else? The problem can be considered solved only in the bug tracker you need to add ...

                                      M Offline
                                      M Offline
                                      mrjj
                                      Lifetime Qt Champion
                                      wrote on 4 May 2016, 13:55 last edited by
                                      #18

                                      @Tikitko
                                      You are most welcome.
                                      well I think its a bug but not sure.
                                      When bug comes, it seems to me it hangs. That seems like bug.

                                      Oh I forgot to ask.
                                      What is {8856f961-340a-11d0-a96b-00c04fd705a2} ?

                                      T 2 Replies Last reply 4 May 2016, 13:57
                                      0
                                      • M mrjj
                                        4 May 2016, 13:55

                                        @Tikitko
                                        You are most welcome.
                                        well I think its a bug but not sure.
                                        When bug comes, it seems to me it hangs. That seems like bug.

                                        Oh I forgot to ask.
                                        What is {8856f961-340a-11d0-a96b-00c04fd705a2} ?

                                        T Offline
                                        T Offline
                                        Tikitko
                                        wrote on 4 May 2016, 13:57 last edited by
                                        #19

                                        @mrjj this is Internet Explorer but in any case, the error with any object in QAxWidget...

                                        1 Reply Last reply
                                        1
                                        • M mrjj
                                          4 May 2016, 13:55

                                          @Tikitko
                                          You are most welcome.
                                          well I think its a bug but not sure.
                                          When bug comes, it seems to me it hangs. That seems like bug.

                                          Oh I forgot to ask.
                                          What is {8856f961-340a-11d0-a96b-00c04fd705a2} ?

                                          T Offline
                                          T Offline
                                          Tikitko
                                          wrote on 5 May 2016, 12:33 last edited by
                                          #20

                                          @mrjj Hello, another mament noticed everything was decided widget loading after displaying the window, but if you minimize the window and deploy the freeze button again ...

                                          M 1 Reply Last reply 5 May 2016, 12:34
                                          0

                                          8/24

                                          4 May 2016, 13:10

                                          topic:navigator.unread, 16
                                          • Login

                                          • Login or register to search.
                                          8 out of 24
                                          • First post
                                            8/24
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved