Форум программистов, компьютерный форум, киберфорум
Qt5
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о языковой поддержке в условиях разделения труда...
Запись от iamvic размещена 20.07.2023 в 20:00 / К вопросу о ...
Показов 2137 Комментарии 11

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

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

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

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

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

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

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

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

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

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

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

Для примера возьмём приложение из заметки К вопросу о влиянии декораторов на возвращаемое значение QObject.sender()
После ревизии кода, выкидывания ненужного и дописывания нужного оно приобретает такой вид:
Python
1
2
#!/usr/bin/python3
# -*- coding: utf-8 -*-
...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о влиянии декораторов на возвращаемое значение QObject.sender().
Запись от iamvic размещена 03.07.2022 в 20:23 / К вопросу о ...
Показов 2133 Комментарии 0
Метки pyqt5, python, python 3, qt5

Ещё один интересный нюанс выявился для Памятки. Началось-то всё с заметки К вопросу о закрытии окна нажатием на значок в полосе заголовка в попытке найти ответ на вопрос "Что делать?", если в процессе закрытия приложения требуется выполнять некоторые обязательные действия, даже когда пользователь закрывает его нажатием на значок...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о локализации приложений PyQt.
Запись от iamvic размещена 12.06.2022 в 19:54 / К вопросу о ...
Показов 2509 Комментарии 4
Метки pyqt5, python, python 3, qt5

Так получилось, что тема Переименовать кнопку "setDetailedText", которую недавно поднял telnofff, как-то незаметно превратилась в Памятку. Насколько я понял, настоящей-то причиной появления этой темы было не желание заменить стандартный текст на этой злосчастной кнопке на какой свой, а то, что этот текст выдавался...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о модальности QDialog.
Запись от iamvic размещена 30.04.2022 в 13:05 / К вопросу о ...
Показов 1492 Комментарии 0
Метки pyqt5, python, python 3, qt5

К вопросу о модальности QDialog.

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

Да, в документации QDialog Class | Qt Widgets нет прямого запрета на запуск диалога методом QDialog.exec_() после выполнения QDialog.show(). Возможность применения этих методов таким...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о подготовке документов LibreOffice в дополнительном потоке.
Запись от iamvic размещена 12.04.2022 в 15:24 / К вопросу о ...
Показов 1624 Комментарии 0

Для начала изложу некоторые свои соображения, которые народились в результате размышлений на тему "С какой стати некоторые разработчики столь рьяно отвергают одну из предлагаемых Qt схем применения QThread?"

Речь идёт о Многопоточные технологии в Qt, первый пример в табличке раздела Примеры использования (гуглоперевод интересующего отрывка причёсан мною):
Срок службы потока - разовый вызов.
Операция - запустить
...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о симуляторах и имитаторах...
Запись от iamvic размещена 01.04.2022 в 00:00 / К вопросу о ...
Показов 1881 Комментарии 0

Забавно, что по иным причинам, но именно к первому апреля пришлось приводить к товарному виду пару своих демонстрашек, динамически размещающих и удаляющих индикаторы QProgressBar в центральном виджете главного окна.

В первом случае каждое нажатие кнопки Пуск приводит к реальному запуску в дополнительном потоке нового исполнителя, который симулирует бурную деятельность (проще говоря, спит), периодически информируя пользователя...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу об особенностях декорирования слотов, обрабатывающих сигнал destroyed.
Запись от iamvic размещена 26.01.2022 в 12:55 / К вопросу о ...
Показов 1742 Комментарии 0
Метки pyqt5, python, python 3, qt5

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

Началось всё с обнаружения того факта, что количество "детей" у главного окна в процессе работы
не растёт....
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу об отличиях поведения виджетов на различных платформах на примере QTableView.
Запись от iamvic размещена 14.01.2022 в 23:01 / К вопросу о ...
Показов 1748 Комментарии 0
Метки linux, pyqt5, python, python 3, qt5, windows

В документации достаточно подробно разбираются основные отличия реализаций Qt для различных
платформ, но далеко не все. По крайней мере, о том, что поведение QTableView под Linux отличается
от поведения под Windows, упоминаний найти не удалось.

Представим, что выбрав строку...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о применении QtCore.QMetaObject. connectSlotsByName().
Запись от iamvic размещена 07.01.2022 в 19:04 / К вопросу о ...
Показов 2812 Комментарии 0
Метки pyqt5, python, python 3, qt5

QtCore.QMetaObject.connectSlotsByName() - штука, конечно, замечательная,
но несколько неоднозначная на мой взгляд. Надо поразмыслить потом на досуге.

Обычно-то, как действуем без использования QtCore.QMetaObject.connectSlotsByName()?
Все сигналы в своей прикладухе цепляем к слотам ручками, примерно как в этом примере:

Вариант A:
Python
1
2
3
4
5
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
 
from PyQt5.QtWidgets import
...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о переключениях GUI с одного потока на другой в приложениях PyQt.
Запись от iamvic размещена 22.12.2021 в 12:31 / К вопросу о ...
Показов 1755 Комментарии 4

По определению, GUI в Qt/PyQt живёт в главном потоке, иначе называемом GUI-потоком. Но нельзя сказать, что это будет один и тот же поток в процессе выполнения приложения от старта до завершения. Даже в таком элементарном приложении GUI переключается между потоками по любому поводу:

gui_th_probe.py:
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication, QAction
from PyQt5.QtWidgets import QMainWindow,
...
Старый
К вопросу о применении QSqlDatabase в QThread.
Запись от iamvic размещена 04.12.2021 в 14:08 / К вопросу о ...
Показов 1100 Комментарии 0

И всё-таки есть смысл в написании мелких "тренажёрчиков", которые в наглядном виде позволяют понять "как же оно там всё внутри устроено, что за что цепляется и как всё получается". По крайней мере, можно позволить себе некоторые вольности в формулировках, исполнении...
Старый
К вопросу о глобальных переменных и инкапсуляции в приложениях PyQt.
Запись от iamvic размещена 14.11.2021 в 11:48 / К вопросу о ...
Показов 3049 Комментарии 19
Метки pyqt5, python, python 3, qt5

Как обычно, ничего нового не скажу (и не покажу ), а просто, пока не забылось, запишу в Памятку свои слегка причёсанные мысли по поводу, пересекающемуся с тем, что написано здесь https://www.cyberforum.ru/blog... g7326.html. Вот после прочтения этой статьи ни с того, ни с сего и озадачился я вопросом:

А существуют ли в Qt/PyQt "глобальные переменные" достаточно близкие по смыслу к тому, который вкладывает в это понятие уважаемый Viktorrus?

Не...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу об экранной заставке при старте PyQt-приложений
Запись от iamvic размещена 10.10.2021 в 23:19 / К вопросу о ...
Показов 7318 Комментарии 20
Метки pyqt5, python, python 3, qt5

Однако, появилась ещё одна тема для памятки, поскольку неожиданные (хотя и прогнозируемые) трудности вызвала организация показа экранной заставки при старте PyQt-приложений под Linux.

Принцип-то понятен. А если не забывать, что Python - это интерпретатор и в процессе загрузки...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о повторном использовании закрытых окон (виджетов).
Запись от iamvic размещена 30.07.2021 в 14:47 / К вопросу о ...
Показов 1780 Комментарии 0
Метки pyqt5, python, python 3, qt5

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

Вот и упомянутый в предыдущей памятке https://www.cyberforum.ru/blog... g7193.html
общеизвестный факт, что окна (виджеты) не удаляются...
Старый
К вопросу об удалении виджетов после закрытия окна и предупреждении утечек.
Запись от iamvic размещена 13.07.2021 в 17:46 / К вопросу о ...
Показов 5594 Комментарии 0
Метки pyqt5, python, python 3, qt5

Правильно говорят, что "хорошо зафиксированная мысль в удержании не нуждается"
Вот вспомнил бы вовремя, что виджеты - это не просто объекты, то не понёс бы чушь
про их удаление тут https://www.cyberforum.ru/blog... g7180.html .
Зато есть повод написать себе очередную памятку с демонстрацией слайдов

Суть проблемы состоит в том, что за немедленное...
Старый
Рейтинг: 3.00. Голосов: 2.
К вопросу об "усыновлении сирот" в PyQt5.
Запись от iamvic размещена 02.07.2021 в 18:35 / К вопросу о ...
Показов 3377 Комментарии 5
Метки pyqt5, python, python 3, qt5

После прочтения весьма дельных советов от Fudthhh в https://www.cyberforum.ru/pyth... 55109.html
приходится писать очередную памятку себе, поскольку есть грех - частенько забываю явно указывать
родителей у объектов при построении графического интерфейса.

В документации-то, конечно, все нижеприведённые...
Старый
Рейтинг: 1.00. Голосов: 1.
К вопросу о закрытии окна нажатием на значок в полосе заголовка.
Запись от iamvic размещена 11.05.2021 в 21:10 / К вопросу о ...
Показов 7403 Комментарии 2
Метки pyqt5, python, python 3, qt5

В теме https://www.cyberforum.ru/pyth... 26501.html,
поднятой katyuhma, неожиданно вспомнилась ещё одна проблемка,
с которой когда-то пришлось повозиться, но решение так и не оформилось
в виде текста. Восполняю пробел.

Суть-то простая - открытое окно приложения, имеющее стандартное...
Старый
По итогам определения начального экрана при старте приложения
Запись от iamvic размещена 21.04.2021 в 13:19 / К вопросу о ...
Показов 3557 Комментарии 0

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

Если по порядку, то всё началось с пожелания, чтобы главное окно приложения
открывалось...
Старый
Рейтинг: 4.00. Голосов: 1.
Деплой Qt5 приложений в Windows. Скандалы, интриги, расследования.
Запись от Dmitriy_M размещена 21.09.2013 в 14:51
Показов 11555 Комментарии 0
Метки deploy, qt5, windows

Начитался ужастиков стиле Habr:Qt 5.1 и корректный deployment в Windows, а так же топики от нубов в ветке Qt. И решил проверить так ли все плохо.

Распространенные вопросы нубов:
  1. какие dll необходимы
  2. Это что? Каждый раз копировать dll в каталог сборки?

1. какие dll необходимы
Вообще то есть официальная документация Deploying an Application on Windows для Qt 5.0.
Вместо Dependency Walker я использовал Process Explorer.

Тут удивился,...
Старый
Yet another Arkanoid.
Запись от Dmitriy_M размещена 09.09.2013 в 23:51
Показов 4338 Комментарии 2
Метки qt5, qtquick

Так как не знаю как нормально постить изображение оставляю ссылку на запись в wordpress
Вкратце: очередной арканойд на QtQuick2, с физикой от Box2D.
Видео на rutube.
Исходники на Google Code.
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru