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

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

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

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

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

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

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

Испытательную программу scroll_mentor.py...
Старый
К вопросу о построении дерева родительских отношений в PyQt (часть 4)
Запись от iamvic размещена 26.08.2024 в 20:00 / К вопросу о ...
Показов 1076 Комментарии 0
Метки pyqt5, python

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

И в самом деле, запустив некое приложение на дополнительном...
Старый
Рейтинг: 1.00. Голосов: 2.
К вопросу о наследовании QWidget и таблицах стилей.
Запись от iamvic размещена 11.09.2022 в 13:55 / К вопросу о ...
Показов 1805 Комментарии 0
Метки pyqt5, python, python 3, qt5

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

Для примера возьмём приложение из заметки К вопросу о влиянии декораторов на возвращаемое значение QObject.sender()
После ревизии кода, выкидывания ненужного и дописывания нужного оно приобретает такой вид:
Python
1
2
#!/usr/bin/python3
# -*- coding: utf-8 -*-
...
Новые блоги и статьи
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru