Widget QGridLayout Set Ukuran Sama

Sep 10 2020

file .h:

QChartView *chrtViewArr[5];
QGridLayout *graphLayout;
QFrame *graphFrame;

file .cpp:

{
...
this->graphLayout = new QGridLayout(this->graphFrame);

for(int i=0;i<3;i++){
        this->graphLayout->addWidget(this->chrtViewArr[i],i,0);
    }

this->graphFrame->setLayout(this->graphLayout);

for(int i=0;i<machine_count;i++){
        this->InsertIntoByteArray(this->chrtViewArr[i]);
    }
...
widget.show();
}

void GraphDialog::InsertIntoByteArray(QChartView *chartView){
    this->pixmap = chartView->grab();
    QBuffer buffer(&this->byteArray);
    buffer.open(QIODevice::WriteOnly);
    this->pixmap.save(&buffer,"JPG");
}

Ketika saya menjalankan kode ini penempatan widget seperti ini:

Bagaimana cara saya mengatur tinggi dan lebar widget? Saya mencoba menggunakan QVBoxLayout sebagai pengganti QGridLayout tetapi tidak ada yang berubah. Ketika saya memerintahkan keluar masalah fungsi InsertIntoByteArray () diperbaiki tetapi saya perlu menggunakan fungsi itu untuk menyimpan grafik. Ada ide?

Jawaban

1 PatrickParker Sep 10 2020 at 13:28

Anda dapat menyetel sizePolicy widget bagan untuk mengabaikan sizeHint