3

出于好奇:我目前正在 Windows 7 上开发 Qt 应用程序。我想设置窗口标题以显示在任务栏中。setWindowTitle不适用,因为我的 UI 是QMainWindow,而不是QWidget.

我有一个QString标题,但我无法设置它。我QMainWindow在 Qt Designer 中设置了标题,但这是静态的。我所达到的是:

MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
  // ....
  QApplication::setApplicationDisplayName(qAppTitle);
  parent->setWindowTitle(qAppTitle);
  // ...
}

这会将我的任务栏中的窗口标题变成:

[来自 Qt Designer 的标题] - [qAppTitle 变量]

糟透了。

想法?

4

1 回答 1

2

QMainWindow 有一个与 QWidget 相同的 setWindowTitle (因为它是一个),请参阅这个问题:

如何设置 QMainWindow 标题

因此解决方案是:

MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
  setWindowTitle("Hello world");
}

http://doc.qt.digia.com/4.7/qwidget.html#windowTitle-prop

http://qt-project.org/doc/qt-5.0/qtwidgets/qmainwindow.html

"QMainWindow Class

The QMainWindow class provides a main application window. More...
#include <QMainWindow>
Inherits: QWidget."

于 2013-10-16T17:22:20.063 回答