crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

ltise
  опции профиля:
сообщение 9.2.2013, 22:24
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 65
Регистрация: 17.4.2010
Пользователь №: 1636

Спасибо сказали: 0 раз(а)




Репутация:   0  


Привет всем!

Пытаюсь использовать QFileDialog и QFileIconProvider, но оно ни в какую не пашет, тупо в диалоге подставляет иконки из системы (MacOsX).
Мне надо чтобы в диалоге для каждого моего файла рисовалось своя иконка с превью содержимого.....

Никто не сталкивался с подобной проблемой ?


class MyIconProvider : public QFileIconProvider
{
public:
  MyIconProvider() : QFileIconProvider()
  {
    _ico_str = QIcon(":/images/ico_str.png");
    _ico_smp = QIcon(":/images/ico_smp.png");
  }


  QIcon    icon(const QFileInfo & info) const
  {
    if (info.suffix().toLower() == "smp")
    {
      return _ico_smp;
    }

    if (info.suffix().toLower() == "str")
    {
      return _ico_str;
    }

    return QFileIconProvider::icon(info);
  }

  QIcon _ico_str;
  QIcon _ico_smp;

};




void MainWindow::on_actionOpen_triggered()
{
  QString file_name;
  {
    QFileDialog fileDialog(this, tr("Test Project"), "", tr("Test Project (*.smp;*.str)"));
    fileDialog.setIconProvider(new StrokesMakerIconProvider());
    fileDialog.setFileMode(QFileDialog::ExistingFiles);

    if (!fileDialog.exec())
      return;

    file_name = fileDialog.selectedFiles().first();
  }
}


Сообщение отредактировал ltise - 10.2.2013, 0:38
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 4.5.2025, 7:28