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. WindowSystemMenuHint strange bug
Forum Updated to NodeBB v4.3 + New Features

WindowSystemMenuHint strange bug

Scheduled Pinned Locked Moved Solved General and Desktop
14 Posts 3 Posters 1.8k 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.
  • EngelardE Offline
    EngelardE Offline
    Engelard
    wrote on last edited by
    #2

    Why that stuff even enabled by default...

    aha_1980A 1 Reply Last reply
    0
    • EngelardE Offline
      EngelardE Offline
      Engelard
      wrote on last edited by
      #3

      Maybe anybody knows another way to hide that button?

      1 Reply Last reply
      0
      • EngelardE Engelard

        Why that stuff even enabled by default...

        aha_1980A Offline
        aha_1980A Offline
        aha_1980
        Lifetime Qt Champion
        wrote on last edited by aha_1980
        #4

        @Engelard isn't that ...HelpButtonHint?

        which type of widget is your dialog? it may be the platform defaiult to show it.

        Qt has to stay free or it will die.

        EngelardE 1 Reply Last reply
        0
        • aha_1980A aha_1980

          @Engelard isn't that ...HelpButtonHint?

          which type of widget is your dialog? it may be the platform defaiult to show it.

          EngelardE Offline
          EngelardE Offline
          Engelard
          wrote on last edited by
          #5

          @aha_1980 said in WindowSystemMenuHint strange bug:

          which type of widget is your dialog?

          QDialog

          1 Reply Last reply
          0
          • mrjjM Offline
            mrjjM Offline
            mrjj
            Lifetime Qt Champion
            wrote on last edited by
            #6

            Hi
            The reason for the odd look is due to you remove all its flags
            setWindowFlags(Qt::WindowSystemMenuHint);
            Now ONLY WindowSystemMenuHint is set. not Dialog and all the others it needs.
            You need to do
            setWindowFlags(windowFlags() & ~Qt::WindowSystemMenuHint);
            which takes the current flags and bitwise disable only hint.

            EngelardE 1 Reply Last reply
            2
            • mrjjM mrjj

              Hi
              The reason for the odd look is due to you remove all its flags
              setWindowFlags(Qt::WindowSystemMenuHint);
              Now ONLY WindowSystemMenuHint is set. not Dialog and all the others it needs.
              You need to do
              setWindowFlags(windowFlags() & ~Qt::WindowSystemMenuHint);
              which takes the current flags and bitwise disable only hint.

              EngelardE Offline
              EngelardE Offline
              Engelard
              wrote on last edited by Engelard
              #7

              @mrjj

              Very good stuff. But.

              1. as i understand, it set it from windowFlags() which comes from parent, it do totally no effect if i would try set it up from it's own flags:
              myNewDialog->windowFlags()
              
              1. As it appliable only from parent(QMainWindow), it adds maximize and minimize hints, maximize is unnecessary, so i tried to remove it, but it only disable it, not hide:
              myNewDialog->setWindowFlags(windowFlags() & (~Qt::WindowSystemMenuHint & ~Qt::WindowMaximizeButtonHint));
              
              mrjjM 1 Reply Last reply
              0
              • EngelardE Engelard

                @mrjj

                Very good stuff. But.

                1. as i understand, it set it from windowFlags() which comes from parent, it do totally no effect if i would try set it up from it's own flags:
                myNewDialog->windowFlags()
                
                1. As it appliable only from parent(QMainWindow), it adds maximize and minimize hints, maximize is unnecessary, so i tried to remove it, but it only disable it, not hide:
                myNewDialog->setWindowFlags(windowFlags() & (~Qt::WindowSystemMenuHint & ~Qt::WindowMaximizeButtonHint));
                
                mrjjM Offline
                mrjjM Offline
                mrjj
                Lifetime Qt Champion
                wrote on last edited by
                #8

                @Engelard
                Oh, must be from dialog :)

                myNewDialog->setWindowFlags(myNewDialog->windowFlags() & (~Qt::WindowSystemMenuHint & ~Qt::WindowMaximizeButtonHint));

                EngelardE 1 Reply Last reply
                0
                • mrjjM Offline
                  mrjjM Offline
                  mrjj
                  Lifetime Qt Champion
                  wrote on last edited by
                  #9

                  Not all combinations works all types of windows.

                  1 Reply Last reply
                  0
                  • mrjjM mrjj

                    @Engelard
                    Oh, must be from dialog :)

                    myNewDialog->setWindowFlags(myNewDialog->windowFlags() & (~Qt::WindowSystemMenuHint & ~Qt::WindowMaximizeButtonHint));

                    EngelardE Offline
                    EngelardE Offline
                    Engelard
                    wrote on last edited by
                    #10

                    @mrjj i tried at first from my object(child dialog), not working, tried, can't understand why.

                    1 Reply Last reply
                    0
                    • mrjjM Offline
                      mrjjM Offline
                      mrjj
                      Lifetime Qt Champion
                      wrote on last edited by
                      #11

                      Hi
                      I tried

                      CustomDialog::CustomDialog(QWidget *parent) :
                          QDialog(parent),
                          ui(new Ui::CustomDialog)
                      {
                          ui->setupUi(this);
                          setWindowFlags(Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint);
                      }
                      
                      
                      

                      alt text

                      EngelardE 1 Reply Last reply
                      0
                      • EngelardE Offline
                        EngelardE Offline
                        Engelard
                        wrote on last edited by
                        #12

                        Lol i figure it out, with little help of Qt documentation and imagination:

                        resultsWindow = new FinalResult(this);
                        Qt::WindowFlags flags = 0;
                        flags = Qt::Dialog;
                        
                        resultsWindow->setWindowFlags(flags |= Qt::WindowSystemMenuHint); // question mark removed, but close button now disabled
                        resultsWindow->setWindowFlag(Qt::WindowCloseButtonHint, true);
                        
                        1 Reply Last reply
                        1
                        • mrjjM mrjj

                          Hi
                          I tried

                          CustomDialog::CustomDialog(QWidget *parent) :
                              QDialog(parent),
                              ui(new Ui::CustomDialog)
                          {
                              ui->setupUi(this);
                              setWindowFlags(Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint);
                          }
                          
                          
                          

                          alt text

                          EngelardE Offline
                          EngelardE Offline
                          Engelard
                          wrote on last edited by
                          #13

                          @mrjj said in WindowSystemMenuHint strange bug:

                          Hi
                          I tried

                          I try that stuff long ago, no efforts of doing that attempts from the constructor of child QDialog were paid...

                          mrjjM 1 Reply Last reply
                          0
                          • EngelardE Engelard

                            @mrjj said in WindowSystemMenuHint strange bug:

                            Hi
                            I tried

                            I try that stuff long ago, no efforts of doing that attempts from the constructor of child QDialog were paid...

                            mrjjM Offline
                            mrjjM Offline
                            mrjj
                            Lifetime Qt Champion
                            wrote on last edited by
                            #14

                            @Engelard
                            ok, odd. worked for my dialog.

                            1 Reply Last reply
                            0

                            • Login

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