Seite 1 von 1

InputDialog breite je nach Bedarf

Verfasst: 7. März 2012 09:32
von lespaul
Hallo,

ich habe ein InputDialog s. Bild
Der String hat jedoch ein paar nummern mehr vor dem Komma. Deswegen würde ich gerne die Width je nach Bedarf (t_count) anpassen..
Mit setMinimumWidth und setFixedWidth kam ich nicht zum Ziel..

Code: Alles auswählen

			int t_count = 5;
			QInputDialog *t_inpdlg = new QInputDialog(this, Qt::Popup);
			t_inpdlg->setWindowTitle(tr("Encoded Result:"));
			t_inpdlg->setLabelText( QString("Line; pOFF = %1; nOFF = %2;").arg(t_stringlist.at(0)).arg(t_stringlist.at(1)) );
			t_inpdlg->setTextValue( QString("%1").arg(parsedString) );
			t_inpdlg->setMinimumWidth( t_count * 50 );
Vielen Dank..
MfG LesPaul

Re: InputDialog breite je nach Bedarf

Verfasst: 27. März 2012 15:07
von trendyAndy
Hallo lespaul,

versuche mal

Code: Alles auswählen

  connect(t_inpdlg, SIGNAL(textValueChanged(QString)), this, SLOT(textValueChanged(QString)));
Dann den Slot dazu:

Code: Alles auswählen

void MainWindow::textValueChanged(QString text)
{
    QFont DialogFont = t_inpdlg->font();
    QFontMetrics metrics(DialogFont);
    t_inpdlg->setMinimumWidth(metrics.width(text));
}
Dann wird der Dialog größer oder kleiner je nach Anzahl der Stellen. Mußt evtl. noch etwas dran rum spielen weil ja um das Inputfeld auch noch etwas Rand ist, aber prinzipiell geht das so.

Gruß
Andy