QT centralWidget'in boyutunu takip etmek

Bu konuyu okuyanlar

okanr

Asistan
Katılım
1 Eylül 2011
Mesajlar
119
Reaksiyon puanı
5
Puanları
18
Merhaba;
Qt ile bir metin editörü yazmaya çalışıyorum. Boş bir form içerisine bir adet textEdit yerleştirdim.Ben bu textEdit'in boyutlarının form ile birlikte büyüyüp küçülmesini istiyorum. Problemi resimde şu şekilde göstereyim.

Ekli dosyayı görüntüle 15622



Yani formun height değeri 465 olduğunda textEdit'in height değeri de 465 olsun.Bunu şu kodla yaptım :
Kod:
[COLOR=#808000]void[/COLOR][COLOR=#800080]MainWindow[/COLOR][COLOR=#000000]::[/COLOR][COLOR=#000000]on_textEdit_textChanged[/COLOR][COLOR=#000000]()[/COLOR][COLOR=#000000]{[/COLOR][COLOR=#800000]ui[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#800000]textEdit[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]setMinimumHeight[/COLOR][COLOR=#000000]([/COLOR][COLOR=#800000]ui[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#800000]centralWidget[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]height[/COLOR][COLOR=#000000]());[/COLOR][COLOR=#800000]ui[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#800000]textEdit[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]setMinimumWidth[/COLOR][COLOR=#000000]([/COLOR][COLOR=#800000]ui[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#800000]centralWidget[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]width[/COLOR][COLOR=#000000]());[/COLOR][COLOR=#800000]ui[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#800000]textEdit[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]setMaximumWidth[/COLOR][COLOR=#000000]([/COLOR][COLOR=#800000]ui[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#800000]centralWidget[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]width[/COLOR][COLOR=#000000]());[/COLOR][COLOR=#800000]ui[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#800000]textEdit[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]setMaximumHeight[/COLOR][COLOR=#000000]([/COLOR][COLOR=#800000]ui[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#800000]centralWidget[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]height[/COLOR][COLOR=#000000]());[/COLOR]
[COLOR=#000000]}
[/COLOR]


Ancak gördüğünüz gibi sadece sadece textEdit içerisindeki metin değişince yeniden boyutlandırma yapıyor. Ben ise formun boyutu her değiştiğinde textEdit 'in de değişsin istiyorum. Bunun için de formun boyutunu takip eden bir fonksiyona(slot) ihtiyacım var. Formun "go to slot" seçenekleri arasında "resize" ve ya "setsize" gibi bir slot bulamadım elle yazmayı denedim onu da kabul etmedi.Projenin kendisini eklenti olarak konuya ekledim.Yardımcı olamanızı rica eder iyi günler dilerim.
 

okanr

Asistan
Katılım
1 Eylül 2011
Mesajlar
119
Reaksiyon puanı
5
Puanları
18
Yeniden merhaba;

Cevap gelmedi ama ben buldum. Bu sorunu yaşayan arkadaşlar için yazıyorum. Öncelikle projenin "mainwindow.h" dosyasına(ve ya adını ne koyduysanız)
Kod:
[COLOR=#808000]private[/COLOR][COLOR=#808000]slots[/COLOR][COLOR=#000000]:[/COLOR][COLOR=#808000]void[/COLOR][COLOR=#000000]on_textEdit_textChanged[/COLOR][COLOR=#000000]();[/COLOR]
[COLOR=#808000]void[/COLOR][COLOR=#000000]on_centralWidget_destroyed[/COLOR][COLOR=#000000]();[/COLOR]
[COLOR=#808000][FONT=Verdana]void[/FONT][/COLOR][COLOR=#000000][FONT=Verdana][I]resizeEvent[/I][/FONT][/COLOR][COLOR=#000000][FONT=Verdana]([/FONT][/COLOR][COLOR=#800080][FONT=Verdana]QResizeEvent[/FONT][/COLOR][COLOR=#000000][FONT=Verdana]*[/FONT][/COLOR][FONT=Verdana]a[/FONT][COLOR=#000000][FONT=Verdana]);[/FONT][/COLOR][COLOR=#008000][FONT=Verdana]//Su[/FONT][/COLOR][COLOR=#008000][FONT=Verdana]kodu[/FONT][/COLOR][COLOR=#008000][FONT=Verdana]ekliyoruz[/FONT][/COLOR]

Daha sonra "mainwindow.cpp" içine
Kod:
[COLOR=#808000]void[/COLOR][COLOR=#800080]MainWindow[/COLOR][COLOR=#000000]::[/COLOR][COLOR=#000000][I]resizeEvent[/I][/COLOR][COLOR=#000000]([/COLOR][COLOR=#800080]QResizeEvent[/COLOR][COLOR=#000000]*[/COLOR][COLOR=#000000]event[/COLOR][COLOR=#000000])[/COLOR][COLOR=#000000]{[/COLOR][COLOR=#800080]QMainWindow[/COLOR][COLOR=#000000]::[/COLOR][COLOR=#000000][I]resizeEvent[/I][/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000]event[/COLOR][COLOR=#000000]);[/COLOR][COLOR=#800000]ui[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#800000]textEdit[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]setMinimumHeight[/COLOR][COLOR=#000000]([/COLOR][COLOR=#800000]ui[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#800000]centralWidget[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]height[/COLOR][COLOR=#000000]());[/COLOR][COLOR=#800000]ui[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#800000]textEdit[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]setMinimumWidth[/COLOR][COLOR=#000000]([/COLOR][COLOR=#800000]ui[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#800000]centralWidget[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]width[/COLOR][COLOR=#000000]());[/COLOR][COLOR=#800000]ui[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#800000]textEdit[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]setMaximumWidth[/COLOR][COLOR=#000000]([/COLOR][COLOR=#800000]ui[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#800000]centralWidget[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]width[/COLOR][COLOR=#000000]());[/COLOR][COLOR=#800000]ui[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#800000]textEdit[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]setMaximumHeight[/COLOR][COLOR=#000000]([/COLOR][COLOR=#800000]ui[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#800000]centralWidget[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]height[/COLOR][COLOR=#000000]());[/COLOR][COLOR=#000000]}
[/COLOR]

yi ekliyoruz.
 
Üst