Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/43: Рейтинг темы: голосов - 43, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 18

Как запустить .pyw двойным щелчком?

25.05.2013, 02:52. Показов 9236. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Всего несколько часов изучаю Python и вообще программирование, поэтому не судите строго за ламерский вопрос..=)
Итак, я хочу при двойном щелчке на файл .py получать окошко 'hello world!'.
На данный момент сделал GUI в Qt 4.8.4 на Python 3.3. Это окошко я могу запускать из командной строки и все работает как надо, но хотелось бы запускать простым двойным щелчком.
Я так понимаю, что когда я щелкаю по .py-файлу вылетает cmd, сама программа мгновенно исполняется и все закрывается. Так вот есть-ли способ остановить это мгновенное выполнение? Я знаю, что обычно ставится строка input(), но я ее тыкаю в разные места исходного кода и никакого эффекта не наблюдается. К тому же, такой вариант не слишком изящный. Я хочу чтоб, программа и cmd закрывались по нажатию крестика на окошке.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.05.2013, 02:52
Ответы с готовыми решениями:

PyQt5. Запуск двойным щелчком на значке файла. Расширение pyw
Из книги авторов Прохоренок Н.А, Дронов В.А. Python 3 и PyQt 5. Разработка приложений 2016 Для создания файла с программой можно ...

Не открывается файл двойным щелчком
Здравствуйте. Имеется стандартный код from PyQt5 import QtWidgets, QtCore import sys class MyWindow(QtWidgets.QWidget): ...

Как запустить скрипт двойным щелчком в *nix-системе?
Приветствую всех. Начал изучать Python, читаю Лутца и все равно не могу понять - как запустить приложение на Unix? В Win есть какая-то...

7
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
25.05.2013, 11:06
зачем cmd.exe для оконного приложения ? для этого есть раширение .pyw
1
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
28.05.2013, 00:19
vshnukrshna1, ну вам необходимо
Python
1
2
if __name__='__main__':
    main()#что-то типо main в С++. Тогда программу будет запускаться по двойному клику по .py
1
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 18
29.05.2013, 04:20  [ТС]
Спасибо, но не работает=(
Как пример, привожу код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from PyQt4 import QtGui, QtCore
 
class Window(QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)
        self.button = QtGui.QPushButton('Test', self)
        self.button.clicked.connect(self.handleButton)
        layout = QtGui.QVBoxLayout(self)
        layout.addWidget(self.button)
 
    def handleButton(self):
        print ('Hello World')
 
if __name__ == '__main__':
 
    import sys
    app = QtGui.QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())
Через CMD все замечательно, но если переименовать в .pyw и затем щелкнуть два раза, то ничего даже не запускается...
И еще проблема: интерфейс PyQt как-то уж слишком глючно работает..навожу курсор на кнопки в меню (Файл, Правка, Вид...Справка...и.т.д.) и они выделяются но не нажимаются.А иногда нажимаются. Вообщем какая-то чертовщина.
0
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
29.05.2013, 07:10
vshnukrshna1, а не надо переименовывать в .pyw, оставляйте .py
1
100 / 85 / 5
Регистрация: 06.05.2013
Сообщений: 242
29.05.2013, 07:33
Мне кажется просто ты где-то ошибся. Ну если хочешь попробуй tkinter. Простенькая библиотека, ну по крайней мере таких проблем как вы описываете не испытывал пока.
1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
29.05.2013, 11:43
Цитата Сообщение от vshnukrshna1 Посмотреть сообщение
но если переименовать в .pyw и затем щелкнуть два раза, то ничего даже не запускается
надо убедиться, что .pyw запускается
то есть вписать в скрипт создание файла и запись в него
1
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 18
30.05.2013, 02:48  [ТС]
Так, вообщем откатился на python 2.7. Теперь .pyw работает так как надо и тему, в принципе, можно было бы закрывать, но... мне этого мало =). Теперь я хочу преобразовать этот .pyw в .exe. Я использовал cx_Freeze, и exe создается и, вроде, даже без ошибок, но не работает. Щелкаю по нему - вылетает CMD и тут же закрывается. И все. Далее, пробую py2exe, но получаю сообщение, что нет какого-то MSVCP90.dll. Ребята, можете доступно объяснить что надо делать и какой компилятор лучше использовать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.05.2013, 02:48
Помогаю со студенческими работами здесь

Как запретить раскрытие узла TreeView двойным щелчком
Как запретить раскрытие (скрытие) узла TreeView по двойному щелчку

Как сделать открытие программ на панели задач двойным щелчком
Здравствуйте! Возможно ли так сделать? Если да, объясните как.

Как открыть pdf в форме двойным щелчком по элементу listbox?
В listbox выводится список pdf файлов теперь надо по двойному щелчку открыть его в axacroPDF как это реализовать помогите пожалуйста очень...

Как получить, а затем передать двойным щелчком данные из datagrid в одном окне в нужное поле textbox?
Есть форма, на ней кнопка и текст бокс. Когда я нажимаю на кнопку, то открывается новое окно и там прогружается datagrid со всеми ...

Закрытие программы двойным щелчком
здравствуйте. нужно написать приложение, в котором будет окно, которое будет пересоздаваться по нажатию на кнопку "развернуть во весь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru