我需要自定义QMessageBox。我需要删除框架和标题栏并添加我自己的标题栏和关闭按钮。还需要更换标准按钮,并可能重做框的背景颜色。
是否可以对其进行子类化并实现上述目标?有这方面的例子吗?或者,我应该继承 Dialog 并创建自己的消息框吗?
不需要子类化 QMessageBox 或 QDialog。你可以传递一个QMessageBox参数Qt::FramelessWindowHint来移除框架和按钮。您还可以使用Qt 样式表来设置 QMessageBox 和按钮的背景样式。像这样的东西应该有效:
msgBox->setStyleSheet("QDialog {background-color: red;}"
"QPushButton {background-color: blue;}")
Run Code Online (Sandbox Code Playgroud)
我还没有测试过这个,但它应该可以工作或者非常接近。
| 归档时间: |
|
| 查看次数: |
3171 次 |
| 最近记录: |