如何在Qt中更改窗口的标题?


74

如何在Qt中更改窗口的标题?(对于QDialogQMainWindow。)

Answers:


120
void    QWidget::setWindowTitle ( const QString & )

编辑:如果您使用QtDesigner,则在属性选项卡上,有一个名为windowTitle的可编辑属性,可以在QWidget部分下找到。通常可以在设计器窗口的右下方找到属性选项卡。


1
只是为了完整起见,这里对其进行了解释:qt-project.org/doc/qt-4.8/qwidget.html#windowTitle-prop
paul23 2012年

7
我不认识其他人,但是stackoverflow正在成为一种非常有用的文档替代方法,google经常在实际文档之前将我指向此处(并且它也更易于阅读)。
chacham15

2
@ chacham15 Qt文档非常好,非常容易阅读。因此,对于简单的“功能名称是什么”问题甚至都不是很有效。我们在稍微复杂一些的问题上做得更好。
马修(Matthew)

1
可能要知道:最好将“ setWindowTitle()”放在构造函数的末尾
Wim

1
有没有办法更改窗口标题的字体系列?我们也可以使其显得粗体吗?
Abhishek Agarwal

52

对于新的Qt用户,这比使用QT Designer和.ui文件时看起来更加混乱。

最初,我尝试使用ui->setWindowTitle,但这并不存在。 ui不是QDialogQMainWindow

的所有者uiQDialogQMainWindow.ui公正描述了如何布置它。在这种情况下,您将使用:

this->setWindowTitle("New Title");

我希望这可以帮助其他人。


1
@UmNyobe从该.ui文件生成的代码将被调用Owner->setWindowTitle(),因此没有什么不同。如果您希望窗口标题是动态的,可以用这种方式而不是在.ui文件中进行。

4
+1给出了在代码中实际实现此示例的示例。
thnkwthprtls 2014年

请注意,此方法不是protected,也可以从对话框类外部调用。
jrh

4

我知道这是几年后的事,但我遇到了同样的问题。我发现的解决方案是更改main.cpp中的窗口标题。我想一旦w.show();被称为窗口标题就无法再更改。就我而言,我只想标题反映当前目录即可。

int main(int argc, char *argv[]) 
{
QApplication a(argc, argv);
MainWindow w;
w.setWindowTitle(QDir::currentPath());
w.show();

return a.exec();
}

3

您还可以在Qt Designer中修改windowTitle属性。


2
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.setWindowTitle("Main Page");
    w.show();
    return a.exec();
}

在此处输入图片说明


-1
system("title WhateverYouWantToNameIt");

您应该对答案进行简短描述。
eyllanesc '17

尽管此代码可以回答问题,但提供有关如何和/或为什么解决问题的其他上下文将提高​​答案的长期价值。
巴达卡达布拉

这样行吗?这甚至是Qt吗?我从未听说过此功能。
jrh
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.