Странное поведение QFileDialog

292
26 апреля 2018, 10:30

В моём приложении дважды используется QFileDialog - при выборе плейлиста и mp3 файла.

С недавних пор при вызове QFileDialog::getOpenFileName() начала появляться ошибка SIGSEGV. Однако, если вызвать QFileDialog::getOpenFileName() в конструкторе MainWindow, то все последующие вызовы этого метода не дают никаких ошибок.

MediaplayerCfg - класс, в котором происходит первый вызов QFileDialog

class MediaplayerCfg : public QObject
{
    Q_OBJECT
public slots:
    void slot_setPosition(int value);

mediaplayer.cpp (привёл лишь фрагмент функции, т.к. в остальной части происходит работа лишь с player)

void MediaplayerCfg::slot_playTrack()
{
    filename = QFileDialog::getOpenFileName(&wgt,
        tr("Открыть mp3 файл"), QDir::homePath(), tr("mp3 файлы (*.mp3)"));
    qDebug() << filename;
//    filename = "/home/timur/Downloads/Music/Concorde - Just Kiss Her.mp3";
    player->setMedia(QUrl::fromLocalFile(filename) );
    player->setVolume(50);

TracklistFunctional - класс для работы с плейлистом tracklist.h

class TracklistFunctional : public QObject
{
    Q_OBJECT
public:
...
    void parsePlaylist();
};

tracklist.cpp

// Здесь мы открываем плейлист и записываем пути к трекам в currentTracklist
void TracklistFunctional::parsePlaylist()
{
    QString filename = QFileDialog::getOpenFileName(wgt,
        tr("Открыть файл конфигурации"), QDir::homePath(), tr("mp3 файлы (*.mp3)"));
    QFile playList(filename);
    if (playList.open(QIODevice::ReadOnly) == false)
    {
        QMessageBox mesError;
        mesError.setText("\tERROR\n"
                         "Playlist can't be open.");
        mesError.setStandardButtons(QMessageBox::Cancel);
        mesError.exec();
    }
    currentTracklist.clear();
    QTextStream parseStream(&filename);
    QString line;
    while(parseStream.atEnd() )
    {
        line = parseStream.readLine();
        currentTracklist.append(line);
    }
    playList.close();
}
READ ALSO
Поворот окна вокруг оси по хэндлу

Поворот окна вокруг оси по хэндлу

Всем доброго времени сутокЯ новичок в программировании и у меня есть вопросы, которые могут быть совсем дурацкими, однако хотелось бы узнать:

271
Cannot assign to read only property &#39;shortcutLogType&#39; of object &#39;#&lt;Object&gt;&#39;

Cannot assign to read only property 'shortcutLogType' of object '#<Object>'

Cannot assign to read only property 'shortcutLogType' of object '#'Что это за ошибка, и как ее решить?

298
Значение атрибута data-title

Значение атрибута data-title

Как должен выглядеть атрибут data-title, чтобы указывался не заголовок страницы, а название статьи?

279
Программа для windows (javascript)

Программа для windows (javascript)

Занимаюсь программированием около полугодаХорошо разбираюсь в javascript

331