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. Center QFileDialog

Center QFileDialog

Scheduled Pinned Locked Moved General and Desktop
18 Posts 3 Posters 10.1k 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.
  • G Offline
    G Offline
    goocreations
    wrote on last edited by
    #3

    it pops up at the top left corner of my parent widget, not the center of my parent widget

    1 Reply Last reply
    0
    • G Offline
      G Offline
      goetz
      wrote on last edited by
      #4

      Could you provide a short sample with source code so that we can have a detail look at it?

      http://www.catb.org/~esr/faqs/smart-questions.html

      1 Reply Last reply
      0
      • G Offline
        G Offline
        goocreations
        wrote on last edited by
        #5

        well, the line provided above is all the source code. I only have a button, and this is the only like in the mouse-clicked event function.

        1 Reply Last reply
        0
        • G Offline
          G Offline
          goetz
          wrote on last edited by
          #6

          mouse-clicked event function? Are you overriding one of the event handlers (mousePressEvent(), mouseReleaseEvent())? If so, of what type is the this pointer in your call? Or are you in a slot connected to the clicked signal of your button?

          http://www.catb.org/~esr/faqs/smart-questions.html

          1 Reply Last reply
          0
          • G Offline
            G Offline
            goocreations
            wrote on last edited by
            #7

            I'm not 100% sure what you are asking, I'm just overriding the mouse-clicked event of the button. I'm not sure of what pointer you are talking. And does this influence the QFileDialog events?

            @void XapoWindow::on_loadButton_clicked()
            {
            QFileDialog::getOpenFileName(this->ui->centralWidget, tr("Open Xapo Project"));
            }@

            1 Reply Last reply
            0
            • G Offline
              G Offline
              goetz
              wrote on last edited by
              #8

              From what you write, it seems that XapoWindow is of type "QMainWindow":http://doc.qt.nokia.com/4.7/qmainwindow.html. In that case, you should use this (i.e. your main window) as the parent to getOpenFileName(), not the centralWidget.

              Just for your information: in XapoWindow::on_loadButton_clicked() you do not override a mouse event, in Qt world this is called a slot, that got automatically connected to the signal clicked of your button. See "Signals & Slots":http://doc.qt.nokia.com/4.7/signalsandslots.html and "The Event System":http://doc.qt.nokia.com/4.7/eventsandfilters.html in the Qt docs for some further information and the differences between the two.

              http://www.catb.org/~esr/faqs/smart-questions.html

              1 Reply Last reply
              0
              • G Offline
                G Offline
                goocreations
                wrote on last edited by
                #9

                Thanks for that, and yes, this is of type QMainWindow. I use that as parent, but the dialog is still not centered

                1 Reply Last reply
                0
                • G Offline
                  G Offline
                  goetz
                  wrote on last edited by
                  #10

                  So it would be helpful if you could post the complete source code of your sample program or provide a download link. Otherwise we cannot look into the details or reproduce the faulty behaviour.

                  http://www.catb.org/~esr/faqs/smart-questions.html

                  1 Reply Last reply
                  0
                  • G Offline
                    G Offline
                    goocreations
                    wrote on last edited by
                    #11

                    main.cpp:

                    @#include <QtGui/QApplication>
                    #include "XapoInterface/xapowindow.h"

                    int main(int argc, char *argv[])
                    {
                    QApplication a(argc, argv); //just using it as debug command line
                    XapoWindow w;
                    w.show();
                    return a.exec();
                    }@

                    XapoWindow.h:

                    @#ifndef XAPOWINDOW_H
                    #define XAPOWINDOW_H

                    #include <QMainWindow>
                    #include <QFileDialog>

                    namespace Ui {
                    class XapoWindow;
                    }

                    class XapoWindow : public QMainWindow
                    {

                    Q_OBJECT
                    

                    public:

                    /*
                     A constructor for creating a window
                     */
                    explicit XapoWindow(QWidget *parent = 0);
                    
                    /*
                     A destructor for destructing the window
                     */
                    ~XapoWindow();
                    

                    private:

                    Ui::XapoWindow *ui;
                    

                    private slots:

                    void on_loadButton_clicked();
                    

                    };

                    #endif // XAPOWINDOW_H@

                    XapoWindow.cpp:

                    @#include "XapoInterface/xapowindow.h"
                    #include "ui_xapowindow.h"

                    XapoWindow::XapoWindow(QWidget *parent) :
                    QMainWindow(parent),
                    ui(new Ui::XapoWindow)
                    {
                    ui->setupUi(this);
                    }

                    XapoWindow::~XapoWindow()
                    {
                    delete ui;
                    }

                    void XapoWindow::on_loadButton_clicked()
                    {
                    QFileDialog::getOpenFileName(this->ui->centralWidget, tr("Open Xapo Project"));
                    }
                    @

                    The XapoWindow is supported by 'n UI-file, I don't think you want it (or do you?), it is just a window with a button on it.

                    1 Reply Last reply
                    0
                    • G Offline
                      G Offline
                      goetz
                      wrote on last edited by
                      #12

                      Without the .ui file and the .pro file we cannot compile the program.

                      http://www.catb.org/~esr/faqs/smart-questions.html

                      1 Reply Last reply
                      0
                      • G Offline
                        G Offline
                        goocreations
                        wrote on last edited by
                        #13

                        Sorry for the late reply, here is the source code

                        http://www.goocreations.com/products/Basic.zip

                        OR

                        http://rapidshare.com/files/433719790/Basic.zip

                        Thank you!!

                        1 Reply Last reply
                        0
                        • G Offline
                          G Offline
                          goetz
                          wrote on last edited by
                          #14

                          I can reproduce the behaviour, but unfortnately I don't have any solution. Maybe it's a bug - you should consider reporting it at http://bugreports.qt.nokia.com.

                          http://www.catb.org/~esr/faqs/smart-questions.html

                          1 Reply Last reply
                          0
                          • G Offline
                            G Offline
                            goocreations
                            wrote on last edited by
                            #15

                            Thanks, I registered and found the same bug, reported in 2009.
                            The ticket was closed with a resolution of "out of scope". So it seems it will not be fixed soon

                            But thanks anyway for your help Volker

                            1 Reply Last reply
                            0
                            • B Offline
                              B Offline
                              blex
                              wrote on last edited by
                              #16

                              The workaround is simple. The geometry of the parent is available, the geometry of the dialog is also may be obtained.


                              Oleksiy Balabay

                              1 Reply Last reply
                              0
                              • G Offline
                                G Offline
                                goocreations
                                wrote on last edited by
                                #17

                                but then you have to use the Qt file dialog, not the Windows-native dialog

                                1 Reply Last reply
                                0
                                • B Offline
                                  B Offline
                                  blex
                                  wrote on last edited by
                                  #18

                                  [quote author="goocreations" date="1291014508"]but then you have to use the Qt file dialog, not the Windows-native dialog[/quote]

                                  You are right, sorry


                                  Oleksiy Balabay

                                  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