Qt中的占位符

5

我想在QLineEdit中设置一个占位文本。我使用以下代码来实现:

QLineEdit *q = new QLineEdit;
q->setPlaceholderText("Enter number");

但是在执行时,占位符没有被设置。可能的问题是什么?


2
如果您使用 setText() 方法设置文本,那么占位符将会消失,您确定您没有这样做。根据您提供的代码,无法解决问题。如果能够通过 Github、Drive 等方式分享完整的代码以便审核,那就太好了。 - eyllanesc
尝试使用 QLineEdit *q = new QLineEdit(this); - scopchanov
如果this是一个视图,@scopchanov将会做什么? - user2836202
看起来没问题,你能否发布这个完整类/模块的代码? - PRIME
QLineEdit *q 和我的 lineEdit 对象名称之间是否有任何连接? - annie
显示剩余3条评论
1个回答

6

由于您提供的孤立代码不足以给我们提供问题所在的线索,我建议您尝试这个极简示例,看看它是否适合您,并根据您的目的进行调整。如果适应性不好,则发布您所做的更改以进行讨论。

MainWindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QLineEdit>

class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = nullptr);
};

#endif // MAINWINDOW_H

MainWindow.cpp

#include "MainWindow.h"

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
{
    QLineEdit *q = new QLineEdit(this);
    q->setPlaceholderText("Enter number");
    setCentralWidget(q);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接