Saya ingin memiliki yang kecil QFormLayout
yang tumbuh untuk mengisi widget induknya.
Saya membuat file .ui baru menggunakan QWidget
template di Qt Designer. Saya meletakkan QFormLayout
di dalam 'jendela' itu, lalu meletakkan beberapa kontrol di dalamnya QFormLayout
.
Ini semua bekerja dengan cukup baik, tetapi QFormLayout
selalu tetap pada ukuran yang saya tetapkan di Qt Designer. Saya ingin QFormLayout
untuk mengisi widget induknya dan mengembangkan / menyusutkannya.
Bagaimana saya bisa mencapai itu?
sumber
Saya merasa tidak mungkin untuk menetapkan tata letak ke centralwidget sampai saya menambahkan setidaknya satu anak di bawahnya. Kemudian saya dapat menyorot ikon kecil dengan tanda 'nonaktif' merah dan kemudian mengklik tata letak di toolbar Designer di bagian atas.
sumber
Jawaban yang diterima (gambarnya) salah, setidaknya sekarang di QT5. Sebagai gantinya Anda harus menetapkan tata letak ke objek / widget root (menunjuk ke gambar yang disebutkan di atas, itu harus menjadi
MainWindow
bukancentralWidget
). Perhatikan juga bahwa Anda harus memiliki setidaknya satu yangQObject
dibuat di bawahnya agar ini berfungsi. Lakukan ini dan ui Anda akan menjadi responsif terhadap perubahan ukuran jendela.sumber
Anda perlu mengubah jenis tata letak default objek QWidget tingkat atas dari tipe tata letak Break ke jenis tata letak lainnya (Tata Letak Vertikal, Tata Letak Horizontal, Tata Letak Kisi, Tata Letak Formulir). Sebagai contoh:
Untuk sesuatu seperti ini:
sumber