Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

QColorDialog e dimensione nel vertical layout



  • ciao!

    ho impostato delle dimensioni fisse alla main window, e poi impostato un vertical layout.
    dentro ci ho messo un QColorDialog:

    MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
        ui->setupUi(this);
    
        QColorDialog *colorDialog = new QColorDialog(this);
        colorDialog->setOptions(QColorDialog::DontUseNativeDialog | QColorDialog::NoButtons);
    
        ui->verticalLayout->addWidget(colorDialog);
        setCentralWidget(new QWidget);
        centralWidget()->setLayout(ui->verticalLayout);
    }
    

    funziona, ma viene tutto spostato a sinistra, e non riempie il resto della schermata.
    devo impostare la dimensione del QColorDialog, o è qualche impostazione del layout?



  • ciao,

    se vuoi centrare, prova a usare setAlignment:

    MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
        ui->setupUi(this);
        QColorDialog *colorDialog = new QColorDialog(this);
        colorDialog->setOptions(QColorDialog::DontUseNativeDialog | QColorDialog::NoButtons);
        setCentralWidget(new QWidget);
        centralWidget()->setLayout(new QVBoxLayout());
        centralWidget()->layout()->setAlignment(Qt::AlignCenter); //  <<---- align request
        centralWidget()->layout()->addWidget(colorDialog);
    }
    

    Sulla dimensione minima non penso si possa intervenire.



  • @GiovanniLR said in QColorDialog e dimensione nel vertical layout:

    centralWidget()->setLayout(new QVBoxLayout());
    centralWidget()->layout()->setAlignment(Qt::AlignCenter); // <<---- align request
    centralWidget()->layout()->addWidget(colorDialog);

    ok grazie, cosi me lo centra ed è già decisamente meglio.

    sulla dimensione, se non si può intervenire penso che l'unica sia ridurre proprio la finestra.
    perchè al momento ho parecchio spazio tipo cornice che non mi piace granchè!


Log in to reply