Qt QInputDialog 文本框设置不可修改
要设置 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();
// 处理输入的新文本
}
在这个例子中,输入对话框的文本部分将不可修改,并且没有任何按钮。
原文地址: https://www.cveoy.top/t/topic/hGne 著作权归作者所有。请勿转载和采集!