Форум программистов, компьютерный форум, киберфорум
К вопросу о ...
Войти
Регистрация
Восстановить пароль
Путевые заметки в процессе познания Python и PyQt/PySide.
Помни - только тег CODE не портит код добавлением пробела в начало пустой строки.
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о построении дерева родительских отношений в PyQt (часть 7)
Запись от iamvic размещена 23.10.2024 в 16:14 / К вопросу о ...
Показов 1016 Комментарии 0
Метки pyqt5, python, python 3

Ещё со времён написания заметки К вопросу о построении дерева родительских отношений в PyQt (часть 2) меня не покидала мысль, что было бы весьма неплохо сделать некую демонстрационную программку, которая по задаваемым пользователем параметрам:

- создавала бы требуемый модальный диалог на базе одного из стандартных...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о построении дерева родительских отношений в PyQt (часть 6)
Запись от iamvic размещена 16.10.2024 в 12:22 / К вопросу о ...
Показов 852 Комментарии 0
Метки pyqt5, python, python 3

Новый вариант, наверное, уже можно назвать приближённым к тому, что задумывалось. Хотя, конечно, пока всё ещё очень сырое и вопросов больше, чем ответов, но надежда есть . По крайней мере, в текущем исполнении слайд-шоу собирается и отображается корректно.

Картинка для привлечения внимания:
Нажмите на изображение для увеличения
Название: eter_slide_show1.jpg
Просмотров: 286
Размер:	21.1 Кб
ID:	8998

Состав пакета (4 файла):

eter_slide_show.py
Python
1
2
3
4
#!/usr/bin/python3
# -*- coding: utf-8 -*-
#
# Eter Slide Show
...
Старый
К вопросу о построении дерева родительских отношений в PyQt (часть 5)
Запись от iamvic размещена 24.09.2024 в 16:23 / К вопросу о ...
Показов 894 Комментарии 0
Метки pyqt5, python, python 3

Изменений накопилось достаточно, благодаря ценным замечаниям voral и, как ни странно, ёмкой формулировке кадровика о том какую роль играет назначение родителей при построении графического интерфейса, поставившей точку в споре моих подопечных . Формулировку кадровика повторять не буду, просто добавлю свои комментарии в тексте одного из виджетов для понимания происходящего.

А вернуться придётся к тому, с чего всё и начиналось.

Испытательную программу scroll_mentor.py...
Старый
К вопросу о транспонировани­­и...
Запись от iamvic размещена 09.09.2024 в 15:14 / К вопросу о ...
Показов 1577 Комментарии 8
Метки python 3

Просто оставлю это здесь в качестве памятки. Заниматься-то транспонированием приходится крайне редко, а тут такой интересный эффект обнаружился с транспонированием списка строк (смотри К вопросу о построении дерева родительских отношений в PyQt (часть 4)). Прямого упоминания о такой возможности я как-то даже и не нашёл (видимо, считается само собой разумеющимся, а для меня оказалось сюрпризом)....
Старый
К вопросу о построении дерева родительских отношений в PyQt (часть 4)
Запись от iamvic размещена 26.08.2024 в 20:00 / К вопросу о ...
Показов 971 Комментарии 0
Метки pyqt5, python

Ну, вот, сезон почти закончился и настало время разобраться с тем, что я там наколхозил с преобразованием списка строк в матрицу в питоньем стиле (см. К вопросу о построении дерева родительских отношений в PyQt...). Сунулся туда и понял, что за это время я как-то подзабыл последовательность преобразований, как выглядят исходные данные и как должны выглядеть результирующие данные на каждом этапе. Пришлось озадачиться журналированием процесса.

Теперь испытательную программу stddlg_inspect.py...
Старый
К вопросу о построении дерева родительских отношений в PyQt (часть 3)
Запись от iamvic размещена 30.06.2024 в 22:05 / К вопросу о ...
Показов 959 Комментарии 3
Метки pyqt5, python, python 3

Чтобы разобраться во всём происходящем, надо просто посмотреть, как формируются исходные данные для построения дерева:

1. строится цепочка дочерних объектов корневого виджета
2. каждый объект в цепочке может узнать непосредственного родителя вызовом собственного...
Старый
К вопросу о построении дерева родительских отношений в PyQt (часть 2)
Запись от iamvic размещена 28.06.2024 в 19:26 / К вопросу о ...
Показов 1070 Комментарии 0
Метки pyqt5, python, python 3

Как говорится, любопытство сгубило кошку Вот погонял я придуманный инструмент на своих поделках (в том числе и выполненных в системе разделения труда) и всё мне нравилось. Но взбрело же в голову посмотреть в сторону стандартных диалогов. Их же настоящие профи делали. Любопытно же, там-то как всё устроено? И, недолго думая, слепил очередной тест:

stddlg_inspect.py
Python
1
2
3
4
5
#!/usr/bin/python3
# -*- coding: utf-8 -*-
#
# StdDlg Inspect v0.01
import sys
...
Старый
К вопросу о построении дерева родительских отношений в PyQt...
Запись от iamvic размещена 06.06.2024 в 20:36 / К вопросу о ...
Показов 1266 Комментарии 3
Метки pyqt5, python, python 3

Как уже говорилось в предыдущей записи блога построение дерева родительских отношений является неплохим подспорьем для понимания того "как на самом деле всё там внутри устроено". А поскольку исполнителям быстро надоедает рисовать эти схемы, то неплохо было бы иметь возможность генерировать их программным способом.

Например, предложенное...
Старый
К вопросу о применении QScrollArea...
Запись от iamvic размещена 30.05.2024 в 19:09 / К вопросу о ...
Показов 1144 Комментарии 3
Метки pyqt5, python, python 3

Недавно в теме Не работает прокрутка виджета с помощью QScrollArea предложил своё решение.

Никакой реакции это не вызвало, но как-то обосновать всё, что там наворочено, всё-таки надо. Делаю это здесь. Ведь за редкостью использования непременно что-нибудь забудется, а виджет QScrollArea - непростой, обязательные "па...
Старый
К вопросу о "mobilis in mobile" в Qt Designer...
Запись от iamvic размещена 01.04.2024 в 11:22 / К вопросу о ...
Показов 1279 Комментарии 1

Поскольку день сегодня такой (да ещё и понедельник ), то не мог не озадачиться вопросом проверки поведения скроллируемых виджетов (см. предыдущую тему) на некой модельке. Интересно же, как это будет выглядеть живьём?

Нажмите на изображение для увеличения
Название: scroll_split_mod.jpg
Просмотров: 250
Размер:	28.1 Кб
ID:	8617

Вариант дизайнерский (на скорую руку, лишь бы поиграться и как-то оценить):

командная строка
Bash
1
py scroll_split_ui.py
scroll_split_ui.py
Python
1
2
#!/usr/bin/python3
# -*- coding: utf-8
...
Старый
К вопросу о соразмерности виджетов разрешению экрана...
Запись от iamvic размещена 04.03.2024 в 17:02 / К вопросу о ...
Показов 1558 Комментарии 9

Поучаствовал тут в разборках интересного казуса, как раз подходящего для Памятки. Суть-то в том, что версии HDMI весьма различны и в ряде случаев высоконасыщенный элементами управления виджет, разработанный под последнее слово техники, может просто не влезть на экран в случае замены штатного монитора на старенький резервный с гораздо меньшим разрешением.

Оказалось, что можно попробовать использовать скроллинг для таких случаев
Нажмите на изображение для увеличения
Название: scroll_probe_tz.jpg
Просмотров: 196
Размер:	17.2 Кб
ID:	8582
...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о применении таблиц стилей в PyQt-приложениях (2).
Запись от iamvic размещена 03.02.2024 в 10:51 / К вопросу о ...
Показов 1049 Комментарии 0
Метки pyqt5, python, python 3, qss

Всё-таки предыдущая тема потребовала продолжения. Хоть и занят был изрядно, но что-то зудело будто лопухнулся я где-то . И, как говорится, предчувствия меня не обманули - ошибка просто детская, неофитская. Надо памятку написать, за редкостью использования всякие тонкости забываются.

А, с другой стороны, если бы там сразу в тексте программы вместо оператора
Python
1
            self.setStyleSheet('background-color: salmon;')
употребил
Python
1
            self.setStyleSheet(
...
Старый
Рейтинг: 1.86. Голосов: 7.
К вопросу о применении таблиц стилей в PyQt-приложениях.
Запись от iamvic размещена 28.12.2023 в 23:25 / К вопросу о ...
Показов 2003 Комментарии 0
Метки pyqt5, python, python 3, qss

В документации как-то не особо акцентируется внимание на том, что приёмы нанесения боевой раскраски на элементы GUI можно разделить на два крайних случая.

В первом случае, загрузка и установка всех таблиц стилей выполняется сразу после старта приложения и действие...
Старый
Рейтинг: 1.33. Голосов: 3.
К вопросу о PyQt и самописных виджетах в Qt Designer.
Запись от iamvic размещена 21.12.2023 в 14:27 / К вопросу о ...
Показов 1145 Комментарии 0

Иногда, работая над каким-нибудь проектом, приходится сталкиваться с ситуацией, когда в различных окнах (диалогах) часть информации, включая элементы управления, полностью дублируется. Эту общую часть вполне можно оформить в виде отдельного класса на базе QWidget и применять его при создании соответствующих окон (диалогов). Например, так, как это сделано в демонстрационной программе, представленной в теме К вопросу о наследовании QWidget и таблицах стилей.

А как быть, если...
Старый
Рейтинг: 2.00. Голосов: 3.
К вопросу о том, какой дизайнер нужен...
Запись от iamvic размещена 22.11.2023 в 14:16 / К вопросу о ...
Показов 1342 Комментарии 3

Если задаться вопросом "Кто способен реализовать программный проект сам, один и без ансамбля?", то можно дать однозначный ответ "это программист" .

У программиста может быть масса недостатков, например, отсутствие художественного вкуса, однобокое знание иностранных языков, невнятная речь, профессиональное...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о неявном назначении родительской опеки...
Запись от iamvic размещена 03.11.2023 в 14:21 / К вопросу о ...
Показов 1309 Комментарии 0
Метки pyqt5, python, python 3

Поучаствовав в обсуждении темы Обновление содержимого в QGroupBox по клику кнопки, вспомнилось мне, что PEP8 рекомендует очень аккуратно решать вопрос
должны ли методы и переменные экземпляра класса (в совокупности: «атрибуты») быть общедоступными или закрытыми (непубличными). Если сомневаетесь, выберите непубличный; позже его легче сделать общедоступным, чем сделать общедоступный атрибут закрытым.
Тем более, что кандидат на опыты есть (см.К вопросу об отслеживании содержимого буфера обмена)...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу об отслеживании содержимого буфера обмена
Запись от iamvic размещена 13.08.2023 в 15:08 / К вопросу о ...
Показов 1269 Комментарии 0
Метки clipboard, pyqt5, python, python 3

А ведь презанятнейшая вещица получилась с подачи Pyther01001 после допиливания до товарного вида первоначального чернового наброска из Работа с clipboard в потоке. Похоже, что очень даже может пригодиться эта поделка:.

clipboard_probe.py
Python
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/python3
# -*- coding: utf-8 -*-
#
# Clipboard Probe v0.002
import sys
from PyQt5 import (
    QtCore,
    QtGui,
    QtWidgets
    )
 
APP_NAME = 'Clipboard
...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу об аналоге заставки при старте PyQt-приложений
Запись от iamvic размещена 01.08.2023 в 14:18 / К вопросу о ...
Показов 1080 Комментарии 0

Однако, весьма неожиданно пришлось лезть сюда в "склерозник", чтобы память освежить, что там у меня было понаписано на заданную тему К вопросу об экранной заставке при старте PyQt-приложений

Даже пришлось каноническую модельку переписать, чтобы помочь человеку внятно изложить свои претензии и желания.

Суть модельки проста - имитируется...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о языковой поддержке в условиях разделения труда...
Запись от iamvic размещена 20.07.2023 в 20:00 / К вопросу о ...
Показов 1891 Комментарии 11

Уж, не знаю почему, но при обсуждении вопросов, возникающих во время написания многоязычных приложений, достаточно часто можно услышать следующую сентенцию, выдаваемую за истину в последней инстанции: "Все требующие перевода литеральные строки (тексты) должны быть записаны...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о "дарах данайцев"... (часть 4 и последняя)
Запись от iamvic размещена 29.06.2023 в 11:46 / К вопросу о ...
Показов 1294 Комментарии 1
Метки opensuse, pyqt5, python, python 3

Предыдущие серии прелюдия, часть 1. часть 2. часть 3.

Ну, блин, ржу не могу!!! Ведь только перечитав то, что я понаписал в третьей части этого сериала, до меня дошло, что и в первой, и во второй частях речь тоже идёт о безобразиях, творимых таким же навязанным системой недекларируемым сервисом,...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о "дарах данайцев"... (часть 3)
Запись от iamvic размещена 26.06.2023 в 22:46 / К вопросу о ...
Показов 1113 Комментарии 0
Метки opensuse, pyqt5, python, python 3

Предыдущие серии: прелюдия, часть 1, часть 2

Надо сразу сказать, что добиться от OpenSUSE более-менее вменяемого поведения, наверное, можно только установкой английского в качестве языка системы (системной локали). Во всех остальных случаях навязываемый системой неафишируемый сервис приводит...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о "дарах данайцев"... (часть 2)
Запись от iamvic размещена 19.06.2023 в 15:02 / К вопросу о ...
Показов 1113 Комментарии 0
Метки opensuse, pyqt5, python, python 3

Поскольку часть 1 завершилась словами
проверить надо, что там Qt Designer творит в таких условиях
то един в трёх лицах (руководитель проекта, программист, дизайнер) ставлю задачу от лица руководителя (канцелярит рулит!!!):
1. целью проекта является наглядная демонстрация факта искажения текста элементов...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о "дарах данайцев"...
Запись от iamvic размещена 18.06.2023 в 15:59 / К вопросу о ...
Показов 1064 Комментарии 0
Метки opensuse, pyqt5, python, python 3

Тема, начатая в заметке К вопросу о локализации приложений PyQt, всё-таки потребовала продолжения. Огромное спасибо коллеге vic5710, написавшему замечательный код Рисование в отдельном окне по параметрам, заданным в текстовых окнах, работающий практически везде (и под Windows, и под MacOs, и под Linux разных сортов), за одним найденным исключением - он абсолютно неработоспособен под OpenSUSE...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о применении модуля tokenize.
Запись от iamvic размещена 11.03.2023 в 21:47 / К вопросу о ...
Показов 1073 Комментарии 0
Метки python, python 3, tokenize

Никогда не знаешь - где найдёшь, где потеряешь Пару лет назад разбирался я с модулем tokenize, пытаясь понять, что из него можно выдавить, и даже приложение кое-какое написал на тему разложения файлов *.py на токены и обратной их сборки из токенов с целью приведения отступов к требованиям...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о разделении труда (часть 4 и последняя).
Запись от iamvic размещена 14.02.2023 в 11:34 / К вопросу о ...
Показов 1465 Комментарии 0

Ну, вот, настало время развязаться с этой моделькой. Все поставленные задачи выполнены:
- смоделирована работа в условиях системы разделения труда,
- показано, что для проведения работ по интернационализации не требуется, чтобы исходное приложение было обязательно...
Старый
Рейтинг: 1.00. Голосов: 2.
К вопросу о разделении труда (часть 3).
Запись от iamvic размещена 09.02.2023 в 16:24 / К вопросу о ...
Показов 1632 Комментарии 1

Что-то как-то в прошлый раз затупил я не по-детски с устатку и чуть не упустил ту шикарную идею, которую Welemir1 предложил в комментариях к первой части:
Цитата Сообщение от Welemir1
Просится же код на вынос в общую функцию куда просто передаем ен или ру или ес/тр/бл чтобы программа поискала такой файлик в нужной папочке и если есть подгрузила нужный язык, если нет взяла дефолтный.
Огромное спасибо, Welemir1, с меня причитается

А реализация этой...
Старый
Рейтинг: 3.00. Голосов: 2.
К вопросу о предварительном просмотре дизайна.
Запись от iamvic размещена 23.12.2022 в 22:33 / К вопросу о ...
Показов 1588 Комментарии 0

Пока возился с Qt Designer-ом, понял, что жутко не хватает простого приложения для просмотра результата творческих усилий . Конечно, можно всё это посмотреть прямо в Qt Designer-е, но он как-то слишком тяжеловесен и избыточен для этих целей. Хотелось чего-нибудь такого, лёгкого - выбрал...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о разделении труда (часть 2).
Запись от iamvic размещена 10.11.2022 в 22:42 / К вопросу о ...
Показов 1167 Комментарии 0

Начало здесь.

Этап 3

И вот в команде уже двое - программист и переводчик, но для кворума явно не хватает третьего - дизайнера Недолго думая, ваяем дизайн главного окна:

team_mwin.ui
Code
1
2
3
4
5
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>main_window</class>
 <widget class="QMainWindow" name="main_window">
  <property
...
Старый
Рейтинг: 3.00. Голосов: 1.
К вопросу о разделении труда (часть 1).
Запись от iamvic размещена 07.11.2022 в 23:20 / К вопросу о ...
Показов 2609 Комментарии 3

Понаблюдав тут в одной конторке за необычно оживлённой суетой, возникшей на почве острой необходимости перевода сайта на иностранный язык, подумал "А как это будет выглядеть с PyQt-приложениями?" Ведь все инструменты для безболезненного решения проблемы есть, а опыта нет. Надо пробовать, надо делать демонстратор.

В качестве донора для демонстратора была выбрана простейшая поделка из По итогам определения начального экрана при старте приложения.

Этап 1
...
Старый
Рейтинг: 2.00. Голосов: 1.
К вопросу о дизайне.
Запись от iamvic размещена 05.10.2022 в 23:08 / К вопросу о ...
Показов 1343 Комментарии 0

Редко пользуюсь Qt Designer-ом, поэтому всё время забываю первое правило дизайнера Сначала выложи весь расклад и только потом пакуй.

Например, для создания нижеприведённого файла дизайна (example.ui):
Code
1
2
3
4
5
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
...
Новые блоги и статьи
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца: Хочу еще Симбу взять, очень нравится. . .
Инференс ML моделей в Java: TensorFlow, DL4J и DJL
Javaican 05.11.2025
Python захватил мир машинного обучения - это факт. Но когда дело доходит до продакшена, ситуация не так однозначна. Помню проект в крупном банке три года назад: команда data science натренировала. . .
Mapped types (отображённые типы) в TypeScript
Reangularity 03.11.2025
Mapped types работают как конвейер - берут существующую структуру и производят новую по заданным правилам. Меняют модификаторы свойств, трансформируют значения, фильтруют ключи. Один раз описал. . .
Адаптивная случайность в Unity: динамические вероятности для улучшения игрового дизайна
GameUnited 02.11.2025
Мой знакомый геймдизайнер потерял двадцать процентов активной аудитории за неделю. А виновником оказался обычный генератор псевдослучайных чисел. Казалось бы - добавил в карточную игру случайное. . .
Протоколы в Python
py-thonny 31.10.2025
Традиционная утиная типизация работает просто: попробовал вызвать метод, получилось - отлично, не получилось - упал с ошибкой в рантайме. Протоколы добавляют сюда проверку на этапе статического. . .
C++26: Read-copy-update (RCU)
bytestream 30.10.2025
Прошло почти двадцать лет с тех пор, как производители процессоров отказались от гонки мегагерц и перешли на многоядерность. И знаете что? Мы до сих пор спотыкаемся о те же грабли. Каждый раз, когда. . .
Изображения webp на старых x32 ОС Windows XP и Windows 7
Argus19 30.10.2025
Изображения webp на старых x32 ОС Windows XP и Windows 7 Чтобы решить задачу, использовал интернет: поисковики Google и Yandex, а также подсказки Deep Seek. Как оказалось, чтобы создать. . .
Passkey в ASP.NET Core identity
stackOverflow 29.10.2025
Пароли мертвы. Нет, серьезно - я повторяю это уже лет пять, но теперь впервые за это время чувствую, что это не просто красивые слова. В . NET 10 команда Microsoft внедрила поддержку Passkey прямо в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru