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. QMessageBox too small
Forum Updated to NodeBB v4.3 + New Features

QMessageBox too small

Scheduled Pinned Locked Moved General and Desktop
14 Posts 6 Posters 23.1k Views 2 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.
  • S Offline
    S Offline
    Serenity
    wrote on last edited by
    #4

    Thank you, it seems to work with your work around.
    But I am still wondering, why it doesn't resize by itself.

    I have also another similar program, where the QMessageBox works well and I tried to find out their difference with no result. It's a little bit strange.

    @bootchk: I am only wondering, why the size of the window is too small in the width. Maybe somebody knows the problem. I thought also, that it could be something related to the parent widget, but also without that, the window is to small in the width. And inanother similar program, it works well.

    1 Reply Last reply
    0
    • L Offline
      L Offline
      leon.anavi
      wrote on last edited by
      #5

      [quote author="Serenity" date="1360759711"]Thank you, it seems to work with your work around.
      But I am still wondering, why it doesn't resize by itself.
      [/quote]

      I have no idea with setFixedWidth didn't work as expected too. In fact the work around is not mine. As I said I found it at "an old thread at Qt Centre":http://www.qtcentre.org/threads/22298-QMessageBox-Controlling-the-width?p=113348#post113348

      http://anavi.org/

      1 Reply Last reply
      0
      • W Offline
        W Offline
        Wonson
        wrote on last edited by
        #6

        After 3 years, it is still not fixed

        mrjjM 1 Reply Last reply
        1
        • W Wonson

          After 3 years, it is still not fixed

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

          @Wonson
          well maybe it was never reported ?

          1 Reply Last reply
          0
          • D Offline
            D Offline
            DougyDrumz
            wrote on last edited by
            #8

            Has anybody found a solutions to this? I tried http://www.qtcentre.org/threads/22298-QMessageBox-Controlling-the-width?p=113348#post113348 to no avail. Is seems my QMessageBox won't expand beyond it's internal maximum width.

            Dougy Drumz

            mrjjM 1 Reply Last reply
            0
            • D DougyDrumz

              Has anybody found a solutions to this? I tried http://www.qtcentre.org/threads/22298-QMessageBox-Controlling-the-width?p=113348#post113348 to no avail. Is seems my QMessageBox won't expand beyond it's internal maximum width.

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

              @DougyDrumz
              hi this does work for me

              #include <QMessageBox>
              #include <QGridLayout>
              #include <QSpacerItem>
              
              void MainWindow::on_pushButton_released()
              {
              
                  QMessageBox msg;
                  msg.setIconPixmap(QPixmap(":/error.svg"));
                  msg.setText("No images loaded");
                  msg.setInformativeText("There are no images in the list. Please create or load a project");
                  msg.setStandardButtons(QMessageBox::Ok);
                  msg.setDefaultButton(QMessageBox::Ok);
                  QSpacerItem* horizontalSpacer = new QSpacerItem(800, 0, QSizePolicy::Minimum, QSizePolicy::Expanding);
                  QGridLayout* layout = (QGridLayout*)msg.layout();
                  layout->addItem(horizontalSpacer, layout->rowCount(), 0, 1, layout->columnCount());
                  msg.exec();
              }
              
              1 Reply Last reply
              0
              • D Offline
                D Offline
                DougyDrumz
                wrote on last edited by
                #10

                This doesn't work for me. One thing I've noticed: You're opening this QMessageBox in a QMainWindow. My QMessageBox is opened in main. This is because I open the QMessageBox using an executable from the command line. It's not tied to any app. Could that be an issue? If it helps, I'm running Qt 4.6.2 on RHEL 6 machine.

                Dougy Drumz

                mrjjM 1 Reply Last reply
                0
                • D DougyDrumz

                  This doesn't work for me. One thing I've noticed: You're opening this QMessageBox in a QMainWindow. My QMessageBox is opened in main. This is because I open the QMessageBox using an executable from the command line. It's not tied to any app. Could that be an issue? If it helps, I'm running Qt 4.6.2 on RHEL 6 machine.

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

                  @DougyDrumz
                  win 7, qt 5.5
                  well im not using "this" from mainwindow ,
                  so should be same as in main.cpp
                  Let me try.
                  update:
                  also works from main.

                  Maybe its diff between win and linux. But looking at code it seems that
                  its build with qt widgets so should function the same.

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

                    hi
                    could you try for test to run this

                    #include <QList>
                    void Pop() {
                     QMessageBox msg;
                     msg.setIconPixmap(QPixmap(":/error.svg"));
                     msg.setText("No images loaded");
                     msg.setInformativeText("There are no images in the list. Please create or load a project");
                     msg.setStandardButtons(QMessageBox::Ok);
                     msg.setDefaultButton(QMessageBox::Ok);
                     QList<QObject*> widgets = msg.findChildren<QObject*>();
                     for (int var = 0; var < widgets.size(); ++var) {
                       qDebug() << widgets[var]->objectName() << widgets[var]->metaObject()->className();
                     }
                     msg.exec();
                    }
                    

                    its lists all objects.
                    my list is
                    "qt_msgboxex_icon_label" QLabel
                    "qt_msgbox_label" QLabel
                    "qt_msgbox_buttonbox" QDialogButtonBox
                    "" QHBoxLayout
                    "" QPushButton
                    "" QGridLayout
                    "qt_msgbox_informativelabel" QLabel
                    just too see if inner layout is different for you.

                    1 Reply Last reply
                    0
                    • D Offline
                      D Offline
                      DougyDrumz
                      wrote on last edited by
                      #13

                      Same objects, different order:

                      "" QGridLayout
                      "qt_msgboxex_icon_label" QLabel
                      "qt_msgbox_label" QLabel
                      "qt_msgbox_buttonbox" QDialogButtonBox
                      "" QHBoxLayout
                      "" QPushButton
                      "qt_msgbox_informativelabel" QLabel

                      Dougy Drumz

                      mrjjM 1 Reply Last reply
                      0
                      • D DougyDrumz

                        Same objects, different order:

                        "" QGridLayout
                        "qt_msgboxex_icon_label" QLabel
                        "qt_msgbox_label" QLabel
                        "qt_msgbox_buttonbox" QDialogButtonBox
                        "" QHBoxLayout
                        "" QPushButton
                        "qt_msgbox_informativelabel" QLabel

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

                        @DougyDrumz
                        Ok, nothing exciting there.
                        looking at the code in qmessagebox.cpp i see nothing that should it do different
                        on linux.
                        Have you looked in your version ?
                        seems like it's a lost cause as most of the stuff is in private.

                        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