Russian Qt Forum

Qt => Общие вопросы => Тема начата: moskk от Октябрь 09, 2012, 07:53



Название: QFileDialog с выбором кодировки
Отправлено: moskk от Октябрь 09, 2012, 07:53
здравствуйте.
 на картинке скриншот окна сохранения файла из виндового блокнота, и там внизу есть бокс для выбора кодировки. вопрос: можно ли как-нибудь такое сделать на Qt?
 в принципе, несколько раз в разных прогах попадались такие диалоги, у которых внизу либо поле ввода, либо чекбокс какой-нибудь лишний. что-то не верится, что для этого нужно писать свой диалог. должен быть по идее способ проще. может, кто знает?
(http://www.cyberforum.ru/attachment.php?attachmentid=185077&d=1348551552)


Название: Re: QFileDialog с выбором кодировки
Отправлено: Bepec от Октябрь 09, 2012, 07:57
Проще?

Что может быть проще создания наследника QDialog  с дополнительным функционалом?

Незнаю. Помоему это уже излишество у вас? Или я такой нервный...


Название: Re: QFileDialog с выбором кодировки
Отправлено: Syveren от Октябрь 09, 2012, 09:09
Как-то давно делал такую вещь наследованием и добавлением в layout дополнительной опции:
Код
C++ (Qt)
FileDialogWithCodingChoice::FileDialogWithCodingChoice(QWidget *parent, const QString &caption, const QString &dir, const QString &filter) :
       QFileDialog(parent,caption,dir,filter)
{
   QGridLayout * grid = qobject_cast<QGridLayout*>(layout());
   if(!grid)
       return;
   QStringList codecsAvailable;
   codecsAvailable  << "UTF-8"<< "KOI8-R" << "CP1251";
  QLabel * lab_text= new QLabel(tr("Кодировка"),this);
   comboBoxСodings = new QComboBox(this);
   comboBoxСodings->addItems(codecsAvailable);
   comboBoxСodings->setCurrentIndex(comboBoxСodings->findText(defaultCodecName));
   int row = grid->rowCount();
   grid->addWidget(lab_text,row,0);
   grid->addWidget(comboBoxСodings,row,1);
}
 


Название: Re: QFileDialog с выбором кодировки
Отправлено: moskk от Октябрь 10, 2012, 06:50
Проще?

Что может быть проще создания наследника QDialog  с дополнительным функционалом?
а я вот знаю. что-то типа:
Код
C++ (Qt)
   QFileDialog dialog;
 
   dialog.setOptions(QFileDialog::EnableEcncodingCombo);  // it would be nice :)
 
но не судьба. всем спасибо за ответы! :)


Название: Re: QFileDialog с выбором кодировки
Отправлено: gil9red от Октябрь 16, 2012, 06:23
Проще?

Что может быть проще создания наследника QDialog  с дополнительным функционалом?
а я вот знаю. что-то типа:
Код
C++ (Qt)
   QFileDialog dialog;
 
   dialog.setOptions(QFileDialog::EnableEcncodingCombo);  // it would be nice :)
 
но не судьба. всем спасибо за ответы! :)

А я знаю что, что-то типа такого нету в QFileDialog (Qt 4.8.0) :)
Попробуйте тот код, что был предложен выше :)
или пишите троллям, чтобы они добавили combobox выбора кодировки в файловый диалог :)