ChatGPT解决这个技术问题 Extra ChatGPT

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

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


C
Community
void    QWidget::setWindowTitle ( const QString & )

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


只是为了完整起见,这里解释了:qt-project.org/doc/qt-4.8/qwidget.html#windowTitle-prop
我不了解其他人,但是 stackoverflow 正在成为一个非常有用的文档替代品,谷歌经常在实际文档之前将我指向这里(而且它也更容易阅读)。
@chacham15 Qt 文档非常好,而且很容易阅读。对于简单的函数名称是什么问题,SO 甚至都没有。我们在稍微复杂的问题上做得更好。
也许很高兴知道:最好将“setWindowTitle()”放在构造函数的末尾
有没有办法改变窗口标题的字体系列?我们也可以让它显得粗体吗?
B
BaCaRoZzo

对于新的 Qt 用户来说,这比使用 QT Designer 和 .ui 文件时看起来更令人困惑。

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

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

this->setWindowTitle("New Title");

我希望这对其他人有帮助。


@UmNyobe 从该 .ui 文件生成的代码将调用 Owner->setWindowTitle(),所以没有什么不同。如果您希望窗口标题是动态的,您可以这样做,而不是在 .ui 文件中。
+1 给出了在代码中实际实现此功能的示例。
请注意,此方法不是 protected,也可以从对话框类外部调用。
b
bandito40

我知道这是几年后的事,但我遇到了同样的问题。我找到的解决方案是更改 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();
}

K
KingKong

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


e
eyllanesc
system("title WhateverYouWantToNameIt");

您应该简要说明您的答案。
虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高答案的长期价值。
这行得通吗?这甚至是Qt吗?我从来没有听说过这个功能。