QMessageBox
もっと大きくしたい があります。これはQMessageBox
、2 つの標準ボタン ([OK] と [キャンセル]) があるシンプルなものです。問題は、このアプリケーションで使用するには小さすぎることです。コードは次のようになります。
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;}
サイズを大きくするためにいくつかの方法を試しました:
msg.setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
msg.setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum);
msg.setFixedHeight(600);
msg.setFixedWidth(600);
クリアして再構築しましたが、すべてがコンパイルされましたが、何も効果がありません...
QMessageBox のサイズを「手動で」設定する方法をご存知ですか? ありがとうございます。
ベストアンサー1
ラベルの CSS を編集できます:
msg.setStyleSheet("QLabel{min-width: 700px;}");
同様に、ボタンの CSS を編集して、余白を追加したり、ボタンを大きくしたりすることもできます。
例えば:
msg.setStyleSheet("QLabel{min-width:500 px; font-size: 24px;} QPushButton{ width:250px; font-size: 18px; }");
また、言及されたトリック:
QSpacerItem* horizontalSpacer = new QSpacerItem(800, 0, QSizePolicy::Minimum, QSizePolicy::Expanding);
QGridLayout* layout = (QGridLayout*)msg.layout();
layout->addItem(horizontalSpacer, layout->rowCount(), 0, 1, layout->columnCount());
しかし、これはすべての人に効果があるわけではないようです。