История изменений
Исправление false, (текущая версия) :
В исходниках Qt следующее:
QString QInputDialog::getText(QWidget *parent, const QString &title, const QString &label,
QLineEdit::EchoMode mode, const QString &text, bool *ok,
Qt::WindowFlags flags)
{
QInputDialog dialog(parent, flags);
dialog.setWindowTitle(title);
dialog.setLabelText(label);
dialog.setTextValue(text);
dialog.setTextEchoMode(mode);
int ret = dialog.exec();
if (ok)
*ok = !!ret;
if (ret) {
return dialog.textValue();
} else {
return QString();
}
}
Функция статическая, все твои потуги она игнорирует. Если тебе так сильно нужно руками выставить размер, нужно самому создать экземпляр, что ты и сделал, но потом вручную выставить размеры, текст, и прочее; затем вызвать exec(), типа такого:
int dialogWidth = 1350;
QInputDialog inputDialog;
inputDialog.setMinimumWidth(dialogWidth);
inputDialog.resize(inputDialog.size());
inputDialog.setWindowTitle("test");
inputDialog.setLabelText("label");
inputDialog.setTextValue("text");
inputDialog.setTextEchoMode(QLineEdit::Normal);
bool ok = !!inputDialog.exec();
if (ok)
return inputDialog.textValue();
else
return QString();
У меня работает.
Исходная версия false, :
В исходниках Qt следующее:
QString QInputDialog::getText(QWidget *parent, const QString &title, const QString &label,
QLineEdit::EchoMode mode, const QString &text, bool *ok,
Qt::WindowFlags flags)
{
QInputDialog dialog(parent, flags);
dialog.setWindowTitle(title);
dialog.setLabelText(label);
dialog.setTextValue(text);
dialog.setTextEchoMode(mode);
int ret = dialog.exec();
if (ok)
*ok = !!ret;
if (ret) {
return dialog.textValue();
} else {
return QString();
}
}
Функция статическая, все твои потуги она игнорирует. Если тебе так сильно нужно руками выставить размер, нужно самому создать экземпляр, что ты и сделал, но потом вручную выставить размеры, текст, и прочее; затем вызвать exec(), типа такого:
int dialogWidth = 1350;
QInputDialog inputDialog;
inputDialog.setMinimumWidth(dialogWidth);
inputDialog.resize(inputDialog.size());
inputDialog.setWindowTitle("test");
inputDialog.setLabelText("label");
inputDialog.setTextValue("text");
inputDialog.setTextEchoMode(QLineEdit::Normal);
bool ok = !!inputDialog.exec();
У меня работает.