我正在使用 Qt 4.6.3,并尝试在 QLineEdit 上设置一些占位符文本。但是这些方法不起作用:
- 使用 Qt 设计器 (uic)
- 通过代码
ui->lineedit.setPlaceholderText("phtext")
setProperty("placeholderText","phtext")
错误是它setPlaceholderText
不是 QLineEdit 类的成员。
这是一个错误吗?或者有没有办法修复它?
placeholderText属性是在 Qt 4.7 中引入的(参见文档),因此它在 Qt 4.6 中不存在。
虽然 placeholderText 属性存在于 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 平台。