2016-06-07 16 views
6

Daha büyük olmasını istediğim bir QMessageBox var. İki standart düğme ile Tamam ve İptal ile basit bir QMessageBox. Sorun benim başvurumun amaçları için çok küçük olmasıdır. Ben boyutunu artırmak için çeşitli yollar denediQMessageBox'ı nasıl yeniden boyutlandırabilirim?

QMessageBox msg; 
msg.setText("Whatever"); 
msg.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel); 
msg.setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding); 

int ret = msg.exec(); 
switch (ret) { 
    case QMessageBox::Ok: 
     ui->textEdit->clear(); 
     break; 
    case QMessageBox::Cancel: 
     break;} 

:: Kod böyle gösteriyor ...

msg.setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding); 

msg.setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum); 

msg.setFixedHeight(600); 
msg.setFixedWidth(600); 
Hatta temizlenir ve yeniden

ve hiçbir şey ama her şey yürürlüğe girmesi derler

Do QMessageBox boyutunu "elle" nasıl ayarlayacağınız hakkında bir fikriniz var mı? Teşekkürler.

cevap

17

Sen etiketin css düzenleyebilirsiniz:

msg.setStyleSheet("QLabel{min-width: 700px;}"); 

Sen benzer bir marj eklemek veya onları daha büyük yapmak için butonlar css düzenleyebilirsiniz. Örneğin

:

msg.setStyleSheet("QLabel{min-width:500 px; font-size: 24px;} QPushButton{ width:250px; font-size: 18px; }"); 

ayrıca trick mentioned vardır:

QSpacerItem* horizontalSpacer = new QSpacerItem(800, 0, QSizePolicy::Minimum, QSizePolicy::Expanding); 
QGridLayout* layout = (QGridLayout*)msg.layout(); 
layout->addItem(horizontalSpacer, layout->rowCount(), 0, 1, layout->columnCount()); 

Ama bu herkes için çalışmaya görünmüyor.

+0

Evet, çözüm budur. Ancak şimdi düğmeler ve metin ekranı ölçek dışında. Her ikisini de orantılı olarak nasıl artırabilirim? – DYangu

+0

"msg.setStyleSheet" ("QLabel {height: 300px; min-height: 300px; max-height: 300px;}"); ' – DYangu

+1

@DYangu ile boyutunun daha iyi çalışmasını sağlar. düğmeleri. CSS ile oynayabilirsiniz, ancak kesin bir sonuç olmadan aklıma daha spesifik bir şey veremem. – coyotte508

İlgili konular