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

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

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

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

Картинка для привлечения внимания:
Нажмите на изображение для увеличения
Название: eter_slide_show1.jpg
Просмотров: 348
Размер:	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 / К вопросу о ...
Показов 1016 Комментарии 0
Метки pyqt5, python, python 3

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

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

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

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

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

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

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

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

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

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

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

Нажмите на изображение для увеличения
Название: scroll_split_mod.jpg
Просмотров: 297
Размер:	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 / К вопросу о ...
Показов 1708 Комментарии 9

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

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

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

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

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

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

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

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

Поучаствовав в обсуждении темы Обновление содержимого в QGroupBox по клику кнопки, вспомнилось мне, что PEP8 рекомендует очень аккуратно решать вопрос
должны ли методы и переменные экземпляра класса (в совокупности: «атрибуты») быть общедоступными или закрытыми (непубличными). Если сомневаетесь, выберите непубличный; позже его легче сделать общедоступным, чем сделать общедоступный атрибут закрытым.
Тем более, что кандидат на опыты есть (см.К вопросу об отслеживании содержимого буфера обмена)...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу об отслеживании содержимого буфера обмена
Запись от iamvic размещена 13.08.2023 в 15:08 / К вопросу о ...
Показов 1384 Комментарии 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 / К вопросу о ...
Показов 1192 Комментарии 0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Этап 1
...
Старый
Рейтинг: 2.00. Голосов: 1.
К вопросу о дизайне.
Запись от iamvic размещена 05.10.2022 в 23:08 / К вопросу о ...
Показов 1521 Комментарии 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">
...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о поведении окон верхнего уровня PyQt-приложений.
Запись от iamvic размещена 25.09.2022 в 22:24 / К вопросу о ...
Показов 1525 Комментарии 0
Метки pyqt5, python, python 3, qt5

Есть один неловкий момент, когда поведение окон верхнего уровня, определяемое соглашениями о пользовательском интерфейсе, вызывает у пользователей неприятие, поскольку противоречит их инстинктивным ожиданиям.

И в самом деле, запустив некое приложение на дополнительном...
Новые блоги и статьи
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
22. Подключение слоя системной динамики (потоковые диффуры): экономические метрики модели
anaschu 17.06.2026
Апдейт модели: финансовый контур, разделение затрат Продолжаю развивать модель рабочего коллектива на AnyLogic. В этот раз работа шла над агентом Экономика — финансовым SD-слоем модели. Задача:. . .
[golang] Insert Delete GetRandom O(1) (Leetcode: 380)
alhaos 16.06.2026
Insert Delete GetRandom O(1) Сложность: Medium Источник: LeetCode 380 Задача Реализовать структуру данных RandomizedSet, которая поддерживает следующие операции за O(1) в среднем:
Свет в конце тоннеля
kumehtar 16.06.2026
Поймал себя на одной мысли. Раньше мне всегда казалось неправильным жить без чёткого понимания, куда всё идёт. Будто я иду по дороге судьбы, но не знаю, куда она ведёт. А раз не знаю — значит,. . .
[golang] Реализация стека с поддержкой получения минимального элемента за O(1)
alhaos 16.06.2026
Min Stack Сложность: Medium Источник: LeetCode 155 Задача: Реализовать стек который поддерживает push, pop, top и получение минимального элемента за O(1). Методы:
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru