【发布时间】:2011-08-08 02:31:39
【问题描述】:
我想将默认的 QMessageBox 标题更改为其他名称,这样我就不必为每个单独的消息框调用 setWindowTitle。
默认窗口标题是如何选择的?
【问题讨论】:
-
您最好创建一个 QMessageBox 的子类,将窗口标题设置为您想要的。
标签: qt qmessagebox
我想将默认的 QMessageBox 标题更改为其他名称,这样我就不必为每个单独的消息框调用 setWindowTitle。
默认窗口标题是如何选择的?
【问题讨论】:
标签: qt qmessagebox
最好的方法是继承QMessageBox,例如:
class MyMessageBox : public QMessageBox
{
MyMessageBox() //<-- default constructor
{
setWindowTitle("Default title goes here"); //QMessageBox function
}
};
在代码的任何地方都使用MyMessageBox。
【讨论】:
您无需调用setWindowTitle 方法,但您可以在实例化QMessageBox 对象时命名。
【讨论】:
const std::string 作为所有对话框的窗口标题?这消除了复制/粘贴工作,但仍然需要我在构造函数中间接声明窗口标题。
您可以改为在 .pro 文件中添加一个目标。例如将此行添加到 .pro 文件中:
目标 = 我的应用程序
因此“MyApp”将被应用为可执行文件名和整个项目中所有QMessageBoxes的windowTitle的默认值。
【讨论】:
QApplication::setApplicationName(QCoreApplication::setApplicationName)或QApplication::setApplicationDisplayName(QGuiApplication::setApplicationDisplayName)。
在使用 VC2008 开发的 Windows 上,它的名称来自项目。更改项目名称,它会更改标题。
【讨论】: