簡體   English   中英

如何在 Android 上的 QLineEdit 中關閉預測文本?

[英]How to turn off predictive text in QLineEdit on Android?

我正在嘗試使用 Qt 5.12 為 android 和 linux 構建一個應用程序。 每次輸入字符時都需要在QLineEdit中讀取當前文本。在 Android 6 設備上,當前文本部分在鍵入時顯示帶下划線,並顯示預測器。 我只在每個SpaceReturn上收到信號QLineEdit::textChanged 信號QLineEdit::textEdited QLineEdit::cursorPositionChanged的行為相同。 禁用QCompleterQValidator沒有幫助。

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->lineEdit->setCompleter(nullptr);
    ui->lineEdit->setValidator(nullptr);
}


void MainWindow::on_lineEdit_textChanged(const QString &arg1)
{
    //just for demonstration
    ui->listWidget->addItem(arg1);
}

Qt 5.12.6 Android 6.0.1/Android 7.1.1 谷歌鍵盤

非常感謝您的回復!

對於那些有興趣或面臨同樣問題的人: QLinedit::setInputMethodHints()是正確的選擇。

    MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->lineEdit->setInputMethodHints(Qt::ImhNoPredictiveText|Qt::ImhNoAutoUppercase|Qt::ImhNoEditMenu);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM