Qt 什么决定了QMessageBox的默认标题?

Qt 什么决定了QMessageBox的默认标题?,qt,qmessagebox,Qt,Qmessagebox,我想将默认的QMessageBox标题更改为其他内容,这样就不必为每个消息框调用setWindowTitle 默认窗口标题是如何选择的?您不需要调用setWindowTitle方法,而可以在实例对象时进行标题设置。在使用VC2008开发的Windows上,它的名称取自项目。更改项目名称将更改标题。您可以在.pro文件中添加一个目标。e、 g.将此行添加到.pro文件: TARGET=MyApp 因此,“MyApp”将被应用为整个项目中所有QMessageBox的可执行文件名和windowTitl

我想将默认的
QMessageBox
标题更改为其他内容,这样就不必为每个消息框调用
setWindowTitle


默认窗口标题是如何选择的?

您不需要调用
setWindowTitle
方法,而可以在实例对象时进行标题设置。

在使用VC2008开发的Windows上,它的名称取自项目。更改项目名称将更改标题。

您可以在.pro文件中添加一个目标。e、 g.将此行添加到.pro文件:

TARGET=MyApp


因此,“MyApp”将被应用为整个项目中所有QMessageBox的可执行文件名和windowTitle的默认值

最好的方法是将
QMessageBox
子类化,例如:

class MyMessageBox : public QMessageBox
{
   MyMessageBox()  //<-- default constructor 
   {
    setWindowTitle("Default title goes here"); //QMessageBox function
   }
};
classmymessagebox:publicqmessagebox
{

MyMessageBox()//您最好创建QMessageBox的子类,将窗口标题设置为您想要的内容。我知道我可以在构造函数中传递首选标题,但它在任何地方都是相同的,因此我认为最好更改默认窗口标题,以避免大量复制/粘贴。您建议使用
常量吗Td::String < /代码>作为所有对话框的窗口标题?这消除了复制/粘贴工作,但它仍然要求我间接地在构造函数中声明窗口标题。创建一个函数通常是消除重复代码的好方法。@ Pieter First,我不是C++ Pro,所以请原谅我,我所能建议的就是像Roku先生说的那样做一个函数。d在需要时调用它。这是一个关于Qt的问题。您还可以使用编码设置应用程序名称:
QApplication::setApplicationName
()或
QApplication::setApplicationDisplayName
()。