Я строю какой-то музыкальный плеер, и у меня есть проблема с именем файла, которое передается в аргумент командной строки при двойном щелчке.Как строка, которая переходит в аргумент командной строки, когда я выбираю открыть файл с моим приложением?
У игрока есть QLabel, который показывает название песни, которая воспроизводится в данный момент, которую я получаю, анализируя путь к песне, который хранится в QStringList. Поэтому, когда я открываю файлы из приложения через команду QFileDialog, все работает нормально, и я получаю правильное имя, но когда я пытаюсь открыть файл через свое приложение извне (например, путем двойного щелчка mp3-файла) строка I get выглядит как this (мой системный язык не является китайским), он тоже отличается каждый раз.
Я передаю линию аргумент команды в моем классе MainWindow, как это:
QString arg;
arg = argv[1];
SoSoMain w(arg); //explicit SoSoMain(QString arg, QWidget *parent = 0);
Затем добавляют к QStringList и оттуда получает доступ к QLabel через другую функцию, которая просто отрезает все перед косой чертой и расширением, поэтому я не вижу, как может повлиять мой код.
Буду очень признателен, если кто-нибудь сможет объяснить мне, почему это происходит и как это исправить. Спасибо в Avance!
Спасибо, я сделал это, но все равно, ничего не изменилось. – Goldutop
Я не вижу никакого кода, поэтому я не могу помочь. Вы можете попробовать распечатать с помощью 'qDebug()' выход метода 'arguments' и посмотреть, где находится название песни. – Evgeny
На самом деле это показывает идеальный путь к файлу в qDebug(), я действительно не получаю это ... – Goldutop