【问题标题】:QLineEdit placeholder text not working in Qt 4.6.3QLineEdit 占位符文本在 Qt 4.6.3 中不起作用
【发布时间】:2026-01-09 09:35:01
【问题描述】:

我正在使用 Qt 4.6.3,并尝试在 QLineEdit 上设置一些 placeholder text。但是这些方法都不起作用:

  • 使用 Qt 设计器 (uic)
  • 通过代码ui->lineedit.setPlaceholderText("phtext")
  • setProperty("placeholderText","phtext")

错误是setPlaceholderText不是QLineEdit类的成员。

这是bug 和\或有没有办法修复它?

【问题讨论】:

    标签: qt qt4 placeholder qlineedit


    【解决方案1】:

    placeholderText 属性是在 Qt 4.7 中引入的(参见文档),因此在 Qt 4.6 中不存在。

    【讨论】:

      【解决方案2】:

      虽然 placeholderText 属性 exists in Qt 4.6.3,但它仅适用于 Maemo5 构建:

      // ### Qt 4.7: remove this #if guard
      #if (QT_VERSION >= 0x407000) || defined(Q_WS_MAEMO_5)
          Q_PROPERTY(QString placeholderText READ placeholderText WRITE setPlaceholderText)
      #endif
      

      您似乎在以某种方式混合 Qt 平台。

      【讨论】: