Apabila bekerja dengan QLabel yang mengandungi QPixmap dinamik, ubah saiz label untuk menampung perubahan ketersediaan ruang sambil mengekalkan aspek nisbah imej boleh menjadi satu cabaran. Yang berikut menyediakan penyelesaian yang komprehensif tanpa memerlukan subkelas:
Size QLabel
Untuk membenarkan saiz semula, tetapkan dasar saiz yang sesuai untuk label, seperti Memperluas atau Memperluas Minimum. Ini akan memastikan bahawa label melaraskan saiznya secara automatik berdasarkan ruang yang tersedia.
Menskalakan QPixmap
Untuk menskala peta pix sambil mengekalkan nisbah bidangnya, anda boleh menggunakan kod berikut:
QPixmap p; // Load the pixmap // Get the dimensions of the label int w = label->width(); int h = label->height(); // Scale the pixmap to fit the label's dimensions while preserving its aspect ratio label->setPixmap(p.scaled(w, h, Qt::KeepAspectRatio));
Pengendalian Acara
Tambahkan kod penskalaan di atas di dua tempat:
Dengan mengikut langkah ini, anda boleh mengubah saiz QLabel dengan QPixmap dengan berkesan sambil mengekalkan nisbah bidang imej, menyediakan cara yang fleksibel dan mudah untuk memaparkan imej dinamik dalam aplikasi anda.
Atas ialah kandungan terperinci Berikut ialah beberapa tajuk berasaskan soalan yang sesuai dengan artikel yang anda sediakan: * Bagaimana untuk mengubah saiz QLabel dengan QPixmap sambil Mengekalkan Nisbah Aspek? * Memelihara Nisbah Aspek: Mengubah saiz QLabel dengan Dinamik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!