Не уверен, что это имеет прямое решение, но я хочу написать функцию, которая показывает диалог (определенный в другом месте класса, который наследует QDialog
) и возвращает пользовательский ввод, когда пользователь завершил взаимодействие с диалогом. Другими словами, что-то похожее на статический метод QFileDialog::getOpenFileName
, где одна строка может открыть диалог и вернуть вход пользователя вместо использования громоздкого (в данном случае) механизма сигнала/слота.Qt4: Напишите функцию, которая создает диалог и возвращает выбор пользователя
Планируемое применение:
/* Shows the dialog, waits until user presses OK or Cancel,
then returns the user's choice.
*/
result = createDialogAndReturnUserChoice()
Сейчас я работаю в PyQt, но я в порядке с ответами в традиционных рамках Qt4 C++.
EDIT //
Вот как это сделать:
dialog = CustomDialog() # creates the custom dialog we have defined in a class inheriting QDialog
if dialog.exec_(): # on exec_(), the whole program freezes until the user is done with the dialog; it returns the response of the user
# success
else:
# failure
[QInputDialog] (http://doc.trolltech.com/4.3/qinputdialog.html)? – sje397
Я хочу использовать пользовательский диалог. – metaliving