2016-03-30 20 views
0

QT uygulamasında yeniyim. Windows için bir QWebView ve bir QMessageBox içeren bir uygulama yaptım. Bu ikisini QMainwindow'luk boyutuna göre yeniden boyutlandırmak istiyorum. Örneğin, ana pencerenin boyutu 300*200 ise, QWebView ve QMessageBox boyutlarının aynı olması gerekir. Ayrıca, uygulamamı çalıştırdığımda yeniden boyutlandırmak istiyorum.QMainWindow'un boyutuna göre bir QWebView ve QMessagebox yeniden boyutlandırın

Birisi bana bunu nasıl yapacağımı söyleyebilir mi?

cevap

0

İlk olarak, ve QWebView çocuk widget'larınızı QMainWindow ürününüzün yapmalısınız. Eğer .cpp dosyada böyle bir şey olmalı: En .h dosyanın mView ve mMessageBox özel elemanlar ile

MyApp::MyApp(QWidget *parent) 
    : QMainWindow(parent) 
{ 
    mView = new QWebView(this); 
    mMessageBox = new QMessageBox(this); 
    // some other code 
} 

.

Ve boyut için, hiçbir şey belirtmezseniz, istediğiniz gibi yeniden boyutlandırabilirsiniz. Eğer sabit bir boyut denemek istiyorsanız Veya, sadece //some other code yerine bu satırı ekleyin:

Ben tasarımı (mainwindow.ui) kullanılarak QWebView ve QMessageBox eklemiş
this->setFixedSize(300,200); 
+0

. Yani bu şeyleri dinamik olarak ayarlayabildiğim herhangi bir yöntem. – vinit

+0

Anlamıyorum: QMessageBox ve QWebView'ı nerede kullanıyorsunuz? Doğrudan .ui dosyanızda mı? – IAmInPLS

+0

QT .ui dosyasında. sürükle bırak kullanarak webview geometrisi oluşturdum ((0 * 0), (500,600)) ve ui-> webview-> load (URL) kullanarak URL'yi yüklüyorum. şimdi web sayfası QWebView'de yükleniyor. Ancak çalışan uygulamayı yeniden boyutlandırdığımda. QwebView boyutu değişmeden kalır. QwebView'i çalışma zamanında yeniden boyutlandırmak için herhangi bir yöntem var. – vinit