MaratD
Май 25, 2016 08:56:01
Здравствуйте, уважаемые разработчики.
Вопрос может быть тупой (не судите строго), но не могу понять. Если пишется программа с графическим интерфейсом, консоль не нужна. Но в коде все равно используют sys.argv. Насколько я понял в этой переменной содержится список параметров командной строки. Но эта командная строка не будет использоваться при работе с программой. Для чего обязательно использовать sys.argv?
Спасибо.
Shaman
Май 25, 2016 09:08:34
Что за фантазии? Ваш код - не используйте sys.argv, чужой - автору лучше знать что где нужно.
MaratD
Май 25, 2016 09:23:44
Пересмотрел кучу примеров. Везде присутствует QApplication(sys.argv). Для чего если в итоге программа с графическим интерфейсом?
plusplus
Май 25, 2016 09:32:44
MaratD
Если пишется программа с графическим интерфейсом, консоль не нужна.
Да почему, у firefox, например куча параметров командной строки, да я помню в тот же Conter-Strike в игровом клубе мы какие-то параметры в ярлык добавляли даже. Любая графическая оболочка - это по сути надстройка над консолью, особенно хорошо заметно это в linux, любое граф приложение можно запустить в консоли, посмотреть какие параметры оно может принимать, или посмотреть ошибки, если с приложением что-то не так и оно не открывается.
Shaman
Май 25, 2016 10:01:29
py.user.next
Май 25, 2016 10:06:42
MaratD
Если пишется программа с графическим интерфейсом, консоль не нужна.
Вполне может быть нужна. Я вот написал себе проигрыватель файлов, файлы подаются с командной строки, а все настройки делаются в окне.
Shaman
Май 25, 2016 10:15:16
Вплоть до того, что через командную строку можно задать тип ui.
MaratD
Май 25, 2016 10:33:38
Ясно. В общем лишнем не будет, а в QApplication это обязательный параметр.
Спасибо.
doza_and
Май 25, 2016 10:39:36
Добавлю что похоже происходит смешение понятий. Консоль это программа для управления потоками ввода вывода. Командный интерпретатор другая программа, которая читает команды с аргументами из своего входного потока и запускает их.
Gui приложение (как и не gui) может быть запущено без консоли, но с заданными аргументами командной строки. Консоль для этого не обязательна.
А о пользе аргументов командной строки и enviroment наверное говорить излишне.