• Python bs4 выбрать нужный элемент не имеющий класс?

    @Andrey_Dolg
    Магия
    XPath
    Ответ написан
    Комментировать
  • Как лучше изучить Python?

    @Andrey_Dolg
    Начинай писать программки. Язык изучить можно быстро, а программирование нет.)
    Ответ написан
    Комментировать
  • Как из .py сделать .exe так, чтобы картинки и аудио файл, используемые в программе, тоже загрузился в него?

    @Andrey_Dolg
    Вообще решается чтением документации как обычно ))
    А так вот пример спека для pyinstaller
    a = Analysis(['GUI.py'],
                 pathex=['path to project', os.path.join(ntpath.dirname(PyQt5.__file__), 'Qt', 'bin')],
                 datas=[('edit.svg','.'),('refresh.png','.'),('remove.svg','.'),('unknown.png','.'),('framework.png','.')],
                 hiddenimports=['sip','hashlib'],
                 hookspath=[],
                 runtime_hooks=[],
                 excludes=[],
                 win_no_prefer_redirects=False,
                 win_private_assemblies=False,
                 cipher=block_cipher,
                 noarchive=False)
    pyz = PYZ(a.pure, a.zipped_data,
                 cipher=block_cipher)
    exe = EXE(pyz,
              a.scripts,
              a.binaries,
              a.zipfiles,
              a.datas,
              [],
              name='app_name',
              debug=False,
              bootloader_ignore_signals=False,
              strip=False,
              upx=True,
              runtime_tmpdir=None,
    		  manifest=None,
              console=False,
    		  uac_admin=True,
              icon='framework.ico')
    coll = COLLECT(exe,
                   a.binaries,
                   a.zipfiles,
                   a.datas,
                   strip=False,
                   upx=True,
                   name='Ver1.03')

    Вам нужен параметр datas все файлы в той же директории, .
    Ответ написан
    4 комментария
  • Стоит ли писать программу учета на Python + Qt?

    @Andrey_Dolg
    Ну поехали.
    На чем писать большого значения не имеет.
    В случае с 1С писать не надо но, придется немного потратится однако при любых проблемах вы легко найдете спеца способного их решить.
    В случае локального веб-приложения опять же язык Python/PHP не особо важен, для python есть нюанс, что лучше использовать Flask а не Django.
    В случае десктоп приложения Qt катируется и не уступает в возможностях вебу, однако писать придётся больше. Из моментов разработки на Qt(PyQt/Qt for python) сборка под винду имеет особенности тыц. UI собирайте в Qt designer код так будет более чистым. Так же рынок Qt приложений довольно мал, если будете пробовать что-либо разрабатывать дальше то задач довольно мало.
    Как пример посредственного Qt приложения.

    5c937c225f42a553874387.png
    5c937c2f504ea735195679.png
    5c937c3fb40bb028273376.png
    В случае если нужны графики и красивые дашборды, то однозначно веб-приложение + необходимые js библиотеки, сделать веб-приложение локальным exe файлом, не так уж и трудно.
    Ответ написан
  • Где можно пройти курс по алгоритмам и структурам данных?

    @Andrey_Dolg
    Почитайте "Грокаем алгоритмы" книжка на 1 вечер, но сэкономит тучу времени на понимание основ. В ней есть лишь часть алгоритмов, но разжевано до основания, потому и на 1 вечер. Структуры тоже представлены частично.
    Ответ написан
    4 комментария
  • Почему не компилируется в exe python код с PyQt5?

    @Andrey_Dolg
    Тут такое дело, визуально pyinstaller использует другой python.
    Ответ написан
    Комментировать
  • Как в PyQt5 задать размер виджета в процентах?

    @Andrey_Dolg
    Дополню можете поиграться со стилями QSS.
    Как пример
    checkbutton.setStyleSheet("QPushButton {background-color:rgb(0,200,0) ; color: White; border-radius: 3px; height:15%; width:70%} "
                                      "QPushButton:pressed {background-color:rgb(0,150,0) ; }")

    Но первичная компоновка по областям прежде всего.
    Ответ написан
    Комментировать
  • Как переносить текст на кнопках в PyQt5?

    @Andrey_Dolg
    Из рубрики вредные советы.
    Вариант номер 1 сделайте вместо кнопки QLabel
    class QLabel_alterada(QLabel):
        clicked=pyqtSignal()
        def __init__(self, parent=None):
            QLabel.__init__(self, parent)
    
        def mousePressEvent(self, ev):
            self.clicked.emit()

    вариант номер 2:
    Мини извращение делаем авто-генерацию иконки с текстом и посылаем её на кнопку.
    Ответ написан
    Комментировать
  • Как переопределить initial data в django form?

    @Andrey_Dolg Автор вопроса
    Вообщем видимо ошибка исчезла. =)

    Более читаемый код.
    class PaymentForm(forms.Form):
        token = forms.CharField(widget=forms.HiddenInput, required=True)
    
        def __init__(self, payment_information, gateway_params, *args, **kwargs):
            initial_arguments = kwargs.get('data', None)
            if initial_arguments:
                token = initial_arguments.get('Token', None)
                csrf = initial_arguments.get('csrfmiddlewaretoken', None)
                if token:
                    kwargs.update({'data':{'token':token, 'csrfmiddlewaretoken': csrf }})
            super(OmisePaymentForm, self).__init__(*args, **kwargs)


    Так же валидно.
    kwargs.update(data = {'token':token, 'csrfmiddlewaretoken': csrf })


    И можно при вызове метод __init__ предка Form указать initial= {'token':token, 'csrfmiddlewaretoken': csrf } или data={...} однако перед этим почистить kwargs от таких имен. Что и написано в документации.
    Как я понимаю за заполнение ответственен это фрагмент BaseForm:
    def _clean_fields(self):
            for name, field in self.fields.items():
                # value_from_datadict() gets the data from the data dictionaries.
                # Each widget type knows how to retrieve its own data, because some
                # widgets split data over several HTML fields.
                if field.disabled:
                    value = self.get_initial_for_field(field, name)
                else:
                    value = field.widget.value_from_datadict(self.data, self.files, self.add_prefix(name))
    Ответ написан
    Комментировать
  • Как удалить экземпляр класса в классе в Python?

    @Andrey_Dolg
    Поддержу человека выше. Вы должны обнулить счетчик ссылок на объект и видимо для этого нужен доступ к переменой person2 вне класса.
    Ответ написан
    Комментировать
  • Как сделать кнопку произвольной формы в PyQt5?

    @Andrey_Dolg
    Я не учился по книгам, и возможно этот подход будет немного некорректен с точки зрения полноценного изучения Pyqt. Если правильно понимаю нужно что-то вроде 5c5aac69127e0809483147.png
    как вариант использовать qss стили. Кнопка выше как пример. Позиционирование через Qh/Qv layout'ы. вот код для такой кнопки:
    collate = QPushButton("Collate")
    # Style sheet for button
    collate.setStyleSheet("QPushButton {background-color: rgb(51,122,183); color: White; border-radius: 4px;}"
                               "QPushButton:pressed {background-color:rgb(31,101,163) ; }")
    Ответ написан
    2 комментария
  • PyQT5: написать на unix для использования на windows?

    @Andrey_Dolg
    Пиши в unix. Собирай в винде, из простых сборщиков pyinstaller.
    А теперь шишки:
    1) Сборка, python только 32 битный (сам Windows может быть и 64 это роли не играет )
    2) Windows 7-10 желательно 10-ка(часть либ. уже в системе) + VS 2015 redistributable
    3) По возможности поставь флаг запуска с повышенным уровнем доступа в сборке.
    Сборка в винде в основном из-за api-ms-win****.dll библиотек.
    Ответ написан
    Комментировать