Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mengekalkan Nisbah Aspek Apabila Memaparkan Imej dalam QLabel Qt?
Memelihara Nisbah Aspek dalam QLabel Qt dengan QPixmap
Dalam Qt, memaparkan imej dalam QLabel sering menimbulkan cabaran untuk mengubah saiz sambil mengekalkan nisbah aspeknya. Ini amat penting apabila berurusan dengan perubahan dinamik dalam dimensi imej sumber.
Mengekalkan Nisbah Aspek dengan Dasar Saiz
Untuk menangani perkara ini, laraskan label QSizePolicy untuk membolehkan pengembangan atau pengembangan minimum. Contohnya:
<code class="cpp">QLabel label; label.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);</code>
Menskalakan QPixmap
Untuk menskalakan QPixmap dalam QLabel sambil mengekalkan aspek nisbah, tambah kod berikut:
<code class="cpp">QPixmap pixmap; // Assumed loaded from a source int labelWidth = label.width(); int labelHeight = label.height(); label.setPixmap(pixmap.scaled(labelWidth, labelHeight, Qt::KeepAspectRatio));</code>
Masukkan kod ini di dua lokasi:
Persediaan ini memastikan QLabel diubah saiz untuk menampung QPixmap sambil mengekalkan nisbah aspeknya, mengikut ruang yang tersedia .
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Nisbah Aspek Apabila Memaparkan Imej dalam QLabel Qt?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!