Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: vohulg от Июль 22, 2013, 16:06



Название: Вопрос по QFileDialog
Отправлено: vohulg от Июль 22, 2013, 16:06
При  вызове QFileDialog если выбрать существующий файл то выводится еще одно маленькие диалоговое окно с с надписью "Перезаписать существующий файл или нет". Как мне  изменить надпись в этом маленьком окне и обработать своими функциями нажатие кнопок в маленьком диалоговом окне ?

Спасибо


Название: Re: Вопрос по QFileDialog
Отправлено: Bepec от Июль 22, 2013, 17:08
Если используется диалог Qt - отнаследоваться и переписать нужную вам часть, если это возможно.
Если используется системный диалог - разочароваться в программировании.

И третий вариант - написать свой диалог.


Название: Re: Вопрос по QFileDialog
Отправлено: Igors от Июль 22, 2013, 17:27
Ну можно изменив callback(и) для стандартных диалогов - но это глухой нативняк, и мало не покажется. Почему бы не схитрить: для диалога убрать этот запрос, а когда он отдаст управление - самому проверить файл существует и уже крутить любое свое окно.

И третий вариант - написать свой диалог.
Цитировать
оптимизм * компетентность = константа
:)


Название: Re: Вопрос по QFileDialog
Отправлено: lit-uriy от Июль 22, 2013, 17:58
для диалога убрать этот запрос
каким образом?


Название: Re: Вопрос по QFileDialog
Отправлено: Bepec от Июль 22, 2013, 18:17
QFileDialog::DontConfirmOverwrite

Третий вариант для истинных маньяков


Название: Re: Вопрос по QFileDialog
Отправлено: vohulg от Июль 23, 2013, 07:50
Что-то у меня ошибку выдает при передаче параметра QFileDialog::DontConfirmOverwrite

QString filename = QFileDialog::getExistingDirectory(this,
                        tr("Choose Or Create File"),
                        "/home",
                        QFileDialog::DontConfirmOverwrite);


Название: Re: Вопрос по QFileDialog
Отправлено: Bepec от Июль 23, 2013, 08:03
А мозг есть?
В диалоге получения существующей директории отключать запрос о перезаписи файла?

Хотя вроде должно работать, но по здравому смыслу - не должно.

Ну и конечно вы написали нам ошибку. Большими такими буквами. Вот только стар я и не вижу её в вашем сообщении ^.^


Название: Re: Вопрос по QFileDialog
Отправлено: vohulg от Июль 23, 2013, 09:26
Ошибка:

"no matching function for call to QFileDialog:getSaveFileName()"


Название: Re: Вопрос по QFileDialog
Отправлено: Bepec от Июль 23, 2013, 09:35
 QFileDialog::getSaveFileName()


Название: Re: Вопрос по QFileDialog
Отправлено: vohulg от Июль 23, 2013, 09:49
Опечатка, корректирую ошибку

"no matching function for call to QFileDialog::getSaveFileName()"

Не пойму чем вам не нравится что я передаю в диалоге получения существующей директории опцию отключения запроса о перезаписи файла. Вообщето в этой статической функции предусмотрена такая опция -

QString   getSaveFileName ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0 )

см. Options options



Название: Re: Вопрос по QFileDialog
Отправлено: Bepec от Июль 23, 2013, 10:18
Вы не девушка? такая очаровательная логика обычно только у них.

Цитировать
QFileDialog::getExistingDirectory(this,

Цитировать
Ошибка:

"no matching function for call to QFileDialog:getSaveFileName()"


Цитировать
Опечатка, корректирую ошибку

"no matching function for call to QFileDialog::getSaveFileName()"

Цитировать
что я передаю в диалоге получения существующей директории опцию отключения запроса о перезаписи файла


Цитировать
Вообщето в этой статической функции предусмотрена такая опция -

QString   getSaveFileName


Название: Re: Вопрос по QFileDialog
Отправлено: Igors от Июль 23, 2013, 11:52
Что-то у меня ошибку выдает при передаче параметра QFileDialog::DontConfirmOverwrite

QString filename = QFileDialog::getExistingDirectory(this,
                        tr("Choose Or Create File"),
                        "/home",
                        QFileDialog::DontConfirmOverwrite);
Там 6 аргументов и options последний, а у Вас он идет 4-й


Название: Re: Вопрос по QFileDialog
Отправлено: Hrundel от Июль 23, 2013, 12:12
Вы не девушка? такая очаровательная логика обычно только у них.

Верес, а ты не муд...ак? Такая очаровательная манера общаться только у них. :D  ;D  :D


Название: Re: Вопрос по QFileDialog
Отправлено: Bepec от Июль 23, 2013, 12:14
Печаль. Неадекваты отакэ. Нет, я не муд и я не ак :)


Название: Re: Вопрос по QFileDialog
Отправлено: vohulg от Июль 23, 2013, 12:23
Что-то у меня ошибку выдает при передаче параметра QFileDialog::DontConfirmOverwrite

QString filename = QFileDialog::getExistingDirectory(this,
                        tr("Choose Or Create File"),
                        "/home",
                        QFileDialog::DontConfirmOverwrite);
Там 6 аргументов и options последний, а у Вас он идет 4-й

Спасибо.


Название: Re: Вопрос по QFileDialog
Отправлено: Hrundel от Июль 23, 2013, 12:52
Печаль. Неадекваты отакэ. Нет, я не муд и я не ак :)

В таком случае, постарайся в будущем избегать пренибрежительных форм, таких как неуместный сарказм типа "А мозг есть?".
(И, кстати, в риторических вопросах ставится восклицательный знак после знака вопроса)


Название: Re: Вопрос по QFileDialog
Отправлено: Bepec от Июль 23, 2013, 13:04
Советы по поведению от оскорбляющих собеседника и влезающих в чужой "разговор"?
Мало стоят советы тех, кто их же не соблюдает ;)


Название: Re: Вопрос по QFileDialog
Отправлено: Hrundel от Июль 23, 2013, 13:37
Как говорится - каков привет, таков ответ.