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
QtWS25 Last Chance

FramelessWindowHint freezes form with QAxWidget

Scheduled Pinned Locked Moved Unsolved General and Desktop
qaxwidgetframelesswindowbug
24 Posts 3 Posters 10.2k Views
  • 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

                                          10/24

                                          4 May 2016, 13:22

                                          • Login

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