要设置 QInputDialog 的文本部分不可修改,可以使用 setOption() 方法来设置 QInputDialog 的对应选项。在这种情况下,您需要设置 QInputDialog::TextInputEchoMode 选项为 QLineEdit::Normal。

以下是一个示例:

QString text = 'Hello, world!';
bool ok;
QString newText = QInputDialog::getText(nullptr, 'Input Dialog', 'Enter text:', QLineEdit::Normal, text, &ok, Qt::WindowFlags(), Qt::ImhNone);

在这个例子中,输入对话框的文本部分是可修改的。

要设置文本部分不可修改,您可以使用 setOption() 方法来设置对应的选项。在这种情况下,您需要设置 QInputDialog::TextInputEchoMode 选项为 QLineEdit::Normal,并设置 QInputDialog::NoButtons 选项为 true。以下是一个示例:

QString text = 'Hello, world!';
bool ok;
QInputDialog dialog;
dialog.setOption(QInputDialog::TextInputEchoMode, QLineEdit::Normal);
dialog.setOption(QInputDialog::NoButtons, true);
dialog.setWindowTitle('Input Dialog');
dialog.setLabelText('Enter text:');
dialog.setTextValue(text);
dialog.setInputMode(QInputDialog::TextInput);
if (dialog.exec() == QDialog::Accepted) {
    QString newText = dialog.textValue();
    // 处理输入的新文本
}

在这个例子中,输入对话框的文本部分将不可修改,并且没有任何按钮。

Qt QInputDialog 文本框设置不可修改

原文地址: https://www.cveoy.top/t/topic/hGne 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录