Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Убрать консоль с PyQt4 script.exe файла [RSS Feed]

#1 Дек. 14, 2013 14:32:30

Razor
Зарегистрирован: 2012-09-11
Сообщения: 127
Репутация: +  2  -
Профиль   Отправить e-mail  

Убрать консоль с PyQt4 script.exe файла



Доброго вечера. Искал и не нашел: как убрать консоль с фона приложения, после конвертации PyQt4 в exe? Типа, запуска с pyw. Пробовал pyw отправлять на конвертацию - не помогает.

Спасибо.

Отредактировано Razor (Дек. 14, 2013 14:38:44)

Офлайн

#2 Дек. 21, 2013 11:08:16

pmus
Зарегистрирован: 2013-04-03
Сообщения: 46
Репутация: +  0  -
Профиль   Отправить e-mail  

Убрать консоль с PyQt4 script.exe файла

Чем компилируешь? Если Pyinstaller, то в нем есть ключик для этого!

Офлайн

#3 Дек. 21, 2013 13:09:42

Razor
Зарегистрирован: 2012-09-11
Сообщения: 127
Репутация: +  2  -
Профиль   Отправить e-mail  

Убрать консоль с PyQt4 script.exe файла

Компилирую cx_Freeze. Python 3.2 x32, PyQt4 x32.

Офлайн

#4 Дек. 22, 2013 03:42:47

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Убрать консоль с PyQt4 script.exe файла

Вы бы скрипт показали, а так, скорее всего объекту Executable передан параметр base = None (для GUI надо base = “Win32GUI”)



Офлайн

#5 Дек. 22, 2013 09:05:45

Razor
Зарегистрирован: 2012-09-11
Сообщения: 127
Репутация: +  2  -
Профиль   Отправить e-mail  

Убрать консоль с PyQt4 script.exe файла

В скрипте ничего подобного нету. Я ничего не добавлял в скрипт для компиляции.

А скрипт то значения не имеет - скриптов много и у вех такая штука, но раз вы просите, то вот один, попроще (проблема та же самая, разумеется):



Код:

# -*- coding: utf-8 -*-
from PyQt4 import QtCore, QtGui, uic
import random
class MainForm(QtGui.QWidget):
    def __init__(self, parent=None, bank=1000):
        QtGui.QWidget.__init__(self, parent)
        self.ui = uic.loadUi('coin.ui', self)
        self.bank = 1000
        self.max_bank = [1000]
        self.min_bank = [1000]
        self.max_guess = 0
        self.m_quess = [1]
        self.connect(self.ui.butHeads, QtCore.SIGNAL('clicked()'),  self.setHeads)
        self.connect(self.ui.butTails, QtCore.SIGNAL('clicked()'), self.setTails)
    def setReturn(self, x=None):
        self.rnd = random.randrange(0,2) # Рандомно выдаем одно из чисел (0, 1)
        if self.rnd == x: # Если угадываем, прибавляем 15 очков
            if self.rnd == 0:
                self.ui.coin_result.setText('Орел +15')
            else: self.ui.coin_result.setText('Решка + 15')
            self.bank_add('+15')
            self.max_guess += 1
            if self.max_guess > self.m_quess[-1]:
                self.m_quess.append(self.max_guess)
            self.ui.max_result_2.setText(str(self.m_quess[-1]))
        else: # В остальных случаях - отнимаем
            if self.rnd == 0:
                self.ui.coin_result.setText('Орел -15')
            else: self.ui.coin_result.setText('Решка -15')
            self.bank_add('-15')
            if self.max_guess > self.m_quess[-1]:
                self.m_quess.append(self.max_guess)
            self.max_guess = 0
    def bank_add(self, money): #Добавление и сокращение банка. Проверка макс и мин значений
        if money == '+15':
            self.bank += 15
            self.ui.result.setText(str(self.bank))
        else:
            self.bank -= 15
            self.ui.result.setText(str(self.bank))
        if self.bank > self.max_bank[-1]:
            self.max_bank.append(self.bank)
            self.ui.max_result.setText(str(self.bank))
        if self.bank < self.min_bank[-1]:
            self.min_bank.append(self.bank)
            self.ui.min_result.setText(str(self.bank))
    def setHeads(self):
        self.setReturn(0)
    def setTails(self):
        self.setReturn(1)
if __name__ == '__main__':
    import sys
    app = QtGui.QApplication(sys.argv)
    window = MainForm()
    window.show()
    sys.exit(app.exec_())

Настройки cx_Freeze по умолчанию.

Офлайн

#6 Дек. 23, 2013 00:53:22

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Убрать консоль с PyQt4 script.exe файла

Razor
А скрипт то значения не имеет
То, что вы выложили, конечно же значения не имеет :), я имел ввиду скрипт setup.py
Вот пример рабочего скрипта:
from cx_Freeze import setup, Executable
includefiles = []
includes = []
excludes = []
packages = []
target = Executable(
        script = "main_script_name.py",
        base = "Win32GUI",
        targetName = "program.exe",
)
setup(
    name = "program_name",
    version = "program_version",
    description = "description",
    author = "program_author",
    author_email = "email",
    options = {"build_exe": {
            "build_exe": r"..\dist",
            "icon": r"..\resource\program_ico.ico",
            "optimize": 2,
            "compressed": True,
            "create_shared_zip": True,
            "copy_dependent_files": True,
            "includes": includes,
            "excludes": excludes,
            "packages": packages,
            'include_files': includefiles}},
    executables = [target]
)
Запускать с параметром build



Офлайн

#7 Дек. 23, 2013 11:25:51

Razor
Зарегистрирован: 2012-09-11
Сообщения: 127
Репутация: +  2  -
Профиль   Отправить e-mail  

Убрать консоль с PyQt4 script.exe файла

Опа. Не хочу показаться неряшливым, но что за setup.py? Его ложить вместе с программой и через нее компилировать? Первый раз слышу о ней Или плохо ищу, или…плохо ищу, но не могу найти, что делать с этим файлом при компиляции. Помогите, пожалуйста.

Офлайн

#8 Дек. 23, 2013 18:53:11

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Убрать консоль с PyQt4 script.exe файла

Razor
Или плохо ищу, или…плохо ищу,
Или документацию не открывал вообще

Офлайн

#9 Апрель 29, 2014 19:07:37

orAnd
Зарегистрирован: 2014-04-07
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Убрать консоль с PyQt4 script.exe файла

setup.py создаётся в той же дерекции что и скрипт, и тамже run.cmd с таким содержанием:
python setup.py build
и он запускается. Там же появляется папка build с вашим файлом :-)

Офлайн

#10 Дек. 27, 2014 03:33:07

vitosua
Зарегистрирован: 2014-11-22
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Убрать консоль с PyQt4 script.exe файла

4kpt_II
Кстати а где можно найти толковую документацию по cx_Freeze?
а то гугп не дает толком ничего

Офлайн

  • Начало
  • » GUI
  • » Убрать консоль с PyQt4 script.exe файла[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version