Chciałbym uzyskać zestaw czterech wartości z czterech etykiet wejściowych w QtCreator. Chciałbym użyć QInputDialog
, ale zawiera tylko jeden inputbox
jako domyślny. Jak więc dodać cztery etykiety i cztery edycje linii i uzyskać z nich wartość?Uzyskiwanie wielu danych wejściowych z QInputDialog w QtCreator
15
A
Odpowiedz
18
Nie. Dokumentacja jest całkiem jasne:
klasie QInputDialog zapewnia prosty dialog ogólnospożywczy dostać pojedynczy wartość od użytkownika.
Jeśli chcesz uzyskać wiele wartości, utwórz klasę pochodną QDialog
od podstaw z 4 polami wprowadzania.
Na przykład:
QDialog dialog(this);
// Use a layout allowing to have a label next to each field
QFormLayout form(&dialog);
// Add some text above the fields
form.addRow(new QLabel("The question ?"));
// Add the lineEdits with their respective labels
QList<QLineEdit *> fields;
for(int i = 0; i < 4; ++i) {
QLineEdit *lineEdit = new QLineEdit(&dialog);
QString label = QString("Value %1").arg(i + 1);
form.addRow(label, lineEdit);
fields << lineEdit;
}
// Add some standard buttons (Cancel/Ok) at the bottom of the dialog
QDialogButtonBox buttonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel,
Qt::Horizontal, &dialog);
form.addRow(&buttonBox);
QObject::connect(&buttonBox, SIGNAL(accepted()), &dialog, SLOT(accept()));
QObject::connect(&buttonBox, SIGNAL(rejected()), &dialog, SLOT(reject()));
// Show the dialog as modal
if (dialog.exec() == QDialog::Accepted) {
// If the user didn't dismiss the dialog, do something with the fields
foreach(QLineEdit * lineEdit, fields) {
qDebug() << lineEdit->text();
}
}
Powiązane problemy
- 1. Uzyskiwanie danych wejściowych z konsoli bez cin?
- 2. Uzyskiwanie wielu danych w jednym kluczowym zapytaniu
- 3. Wiele danych wejściowych w JOptionPane.showInputDialog
- 4. gnuplot: wykreślanie danych z wielu plików wejściowych na jednym wykresie
- 5. Uzyskiwanie wartości wejściowych z pola tekstowego
- 6. HTML5/JS - wyświetlanie wielu danych wejściowych w div
- 7. Apache Spark on YARN: Duża liczba plików danych wejściowych (łączenie wielu plików wejściowych w iskrze)
- 8. Klasy eksportu Webpack z wielu plików wejściowych
- 9. Haskell QuickCheck generowania losowych danych dla funkcji wielu zmiennych wejściowych
- 10. Testowanie danych wejściowych w PHPUnit
- 11. jquery suma wielu pól wejściowych w jednym
- 12. Zażądaj danych wejściowych z niestandardowego polecenia django?
- 13. Obsługa C++ 14 w QtCreator z Clang
- 14. Monit Node.js pomijanie danych wejściowych
- 15. Uzyskiwanie danych wejściowych użytkownika z okna dialogowego za pomocą programu Mortar + Flow
- 16. Szybki sposób porównywania danych wejściowych
- 17. Atrybut akceptowania danych wejściowych w przeglądarce Firefox
- 18. Etykiety na danych wejściowych w gnuplot
- 19. Uzyskiwanie danych z CVPixelBuffer Reference
- 20. Uzyskiwanie danych historycznych z Twittera
- 21. jquery uzyskiwanie danych z formularza
- 22. przyjmowanie danych wejściowych ciągu słów przez słowo
- 23. Wprowadzanie danych wejściowych w strukturze Play
- 24. Jak sprawdzić brak danych wejściowych w bashu?
- 25. AngularJs: jak formatować dane w danych wejściowych?
- 26. Uzyskać pozycję caret w danych wejściowych HTML?
- 27. pobranie danych wejściowych użytkownika w awk
- 28. validate jquery: suma wielu wartości wejściowych
- 29. Uzyskiwanie wartości wielu wierszy z tabeli MySQL
- 30. sanityzacja danych wejściowych sprawdzanie poprawności VS
Czy to możliwe, aby mieć pól wejściowych i etykiety w oknie dialogowym? –
@ Gramam Dodałem przykład do mojej odpowiedzi. – alexisdm
Wielkie dzięki za wzmiankę o QDialogButtonBox, czego potrzebowałem, ale nie mogłem znaleźć ... –