【问题标题】:How to change the Title of the window in Qt?如何在 Qt 中更改窗口的标题?
【发布时间】:2012-05-22 19:39:40
【问题描述】:

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

【问题讨论】:

    标签: c++ qt window title


    【解决方案1】:
    void    QWidget::setWindowTitle ( const QString & )
    

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

    【讨论】:

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

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

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

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

    this->setWindowTitle("New Title");
    

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

    【讨论】:

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

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:
        system("title WhateverYouWantToNameIt");
        

        【讨论】:

        • 你应该简要描述你的答案。
        • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
        • 这行得通吗?这甚至是Qt吗?我从来没有听说过这个功能。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多