LINUX.ORG.RU

Сообщения Sunderland93

 

Первый выпуск дистрибутива TileOS 1.0

Новости — Linux General
Группа Linux General

Доступен выпуск дистрибутива TileOS 1.0 «T-Rex», построенного на пакетной базе Debian и предлагающего рабочий стол, использующий мозаичные оконные менеджеры. TileOS преследует те же цели, что и дистрибутив Ubuntu Sway Remix (развивается тем же автором), предлагая готовый к использованию интерфейс, не требующий дополнительной настройки и ориентированный как на опытных пользователей Linux, так и на новичков, желающих попробовать окружение мозаичных оконных менеджеров, не тратя большое количество времени на их настройку.

Однако, в отличии от Ubuntu Sway Remix, TileOS гораздо более открыт для различных изменений и кастомизаций, а также избавлен от каких-либо потенциальных проблем с авторскими правами (Ubuntu Sway Remix использует зарегистрированные товарные знаки Canonical, но официального ответа по поводу включения дистрибутива в официальное семейство Ubuntu до сих пор не получено). Для загрузки подготовлены сборки для архитектуры amd64 (в будущем планируется обеспечить поддержку arm64, в частности плат Raspberry Pi). Исходный код компонентов TileOS доступен на GitLab.

Основное внимание в TileOS уделяется оконным менеджерам, использующим протокол Wayland. Официально представлены редакции с рабочими столами Sway и River, в разработке находятся редакции с SwayFX (форк Sway, дополненный различными эффектами рабочего стола) и Qtile. Дистрибутив использует пакетную базу Debian Stable, однако из тестовой ветки переносятся различные улучшения, более свежие версии некоторого ПО и графических драйверов. Помимо этого, в состав включён ряд исправлений, оптимизирующих работу дисковой подсистемы и памяти, а также перенесены некоторые улучшения из Ubuntu, например монтирование дисков в файловом менеджере без запроса пароля, и другие.

Ключевые особенности TileOS:

  • Ядро Linux 6.6.15 с улучшенным временем отклика (опция CONFIG_HZ=1000, в Debian используется CONFIG_HZ=300).
  • Набор открытых видеодрайверов, Mesa 23.2.1 и Xwayland 23.2.2.
  • По умолчанию задействован механизм Zram, с использованием алгоритма сжатия zstd.
  • Предустановлено большое число несвободных драйверов и прошивок (firmware), что существенно расширяет поддержку различного оборудования.
  • По умолчанию подключены репозитории с дополнительным ПО, таким как VirtualBox, Visual Studio Code, Librewolf, OnlyOffice и Brave.
  • Реализована возможность выбора дополнительного ПО в установщике Calamares.
  • В качестве реализации системной шины D-Bus задействован D-Bus Broker.
  • В качестве звукового сервера задействован PipeWire.
  • Управление пользовательскими сеансами осуществляется средствами systemd, что позволяет корректно завершать запущенные приложения и компоненты при перезагрузке, выключении или выходе из системы, а также обеспечить корректную обработку автозапуска приложений.
  • В качестве демона OOM Killer в редакции Sway задействован systemd-oomd. В остальных редакциях используется EarlyOOM.
  • Для оформления приложений задействована единая тема Catppuccin, использующая мягкие пастельные цвета.

Особенности редакции Sway:

  • Рабочий стол развивается параллельно с дистрибутивом Ubuntu Sway Remix, обеспечивается взаимный перенос тех или иных изменений.
  • Задействованы многие утилиты из проекта NWG-Shell, такие как скрипт автоматической раскладки окон Autotiling, полноэкранное меню приложений nwg-drawer, утилита для настройки параметров дисплея nwg-displays, утилита для настройки внешнего вида nwg-look, менеджер сеансов nwg-bar и nwg-wrapper, позволяющий выводить на рабочий стол содержимое любых скриптов (через него реализована подсказка по используемым в дистрибутиве горячим клавишам).
  • Предустановлен минимальный набор компонентов, включающий файловый менеджер PcmanFM-Qt, текстовый редактор Pluma, эмулятор терминала Alacritty, архиватор Engrampa и другие. Дополнительное ПО предлагается выбрать на этапе установки системы, либо установить непосредственно после установки системы.

Особенности редакции River:

  • Задействован динамический оконный менеджер River, написанный на языке zig и вобравший себя многое из DWM, Awesome и Bwpwm. River отличается простотой настройки (файл конфигурации — обычный shell-скрипт, последовательно выполняющий команды для шины IPC riverctl), широкой гибкостью и меньшим потреблением ресурсов, чем Sway. Поскольку River находится в стадии активной разработки, и пока значительно уступает в функциональном плане Sway, редакция TileOS River носит экспериментальный характер.
  • Как и в редакции Sway, задействованы компоненты проекта NWG-Shell, кроме тех, что явно не поддерживают River (например вместо nwg-displays используется wdisplays).

>>> Подробности

 , river, , tileos

Sunderland93
()

Как передать пароль GPG ключа при подписи пакетов собранных в Jenkins?

Форум — Admin

Приветствую. Имеется настроенная Jenkins CI, в которой производится сборка deb пакетов. Задача: подписывать файлы .dsc и .changes при помощи debsign. В сам Jenkins были добавлены credentials с закрытым ключом и парольной фразой к нему. Но непонятно как передать их утилите debsign, чтобы во время подписи пакета она не требовала ручного ввода пароля ключа. Сборка происходит через обычные shell-скрипты (Jenkins Job). Если кто сталкивался с подобным - подскажите, как быть? Перепробовал все, и на данный момент единственное решение, которое ещё можно применить - убрать пароль у закрытого ключа вовсе. Что мне делать не хотелось бы.

 , ,

Sunderland93
()

Sway Input Configurator 1.4.0

Новости — Linux General
Sway Input Configurator 1.4.0
Группа Linux General

Доступен Sway Input Configurator 1.4.0 — утилита для простой настройки устройств ввода в Sway.

Утилита написана на Python с использованием Qt6/PyQt6 и позволяет в пару кликов настроить параметры клавиатуры, мыши и тачпада. Настройки хранятся в файле JSON. Используются стандартные для Libinput опции настройки устройств ввода, в частности, раскладка клавиатуры, комбинация клавиш для смены раскладки, настройка скорости указателя, эмуляция кнопок мыши в тачпаде и т.д.

( читать дальше... )

>>> Подробности

 , , ,

Sunderland93
()

Обязательно ли пересобирать весь софт с новой версией библиотеки при её обновлении?

Форум — Admin

Приветствую. Хочу для себя прояснить один момент. Предположим я хочу собрать и установить более новую версию Mesa, 23.1 например. При этом софт в базовой системе (в частности оконный менеджер) собран с более старой. Вопрос - нужно ли его будет пересобрать с новой версией Mesa или же он будет работать и так? То же самое касается libwayland. При этом минимальные версии библиотек, необходимые для сборки этого софта, значительно ниже тех, что есть.

 , ,

Sunderland93
()

Проблема с подключением к LAN на OpenWRT с ZeroTier

Форум — Admin

Приветствую. Задача: организовать удаленный доступ по SSH к домашней сети через ZeroTier. Дома стоит роутер на OpenWRT с установленным ZeroTier. Маршрутизация настроена согласно мануалам, в контроллере ZeroTier прописан маршрут до ZeroTier IP роутера. При попытке подключиться удаленно с компьютера (также находящегося в сети ZeroTier) подключается только непосредственно к самому роутеру, но ни к одному из устройств за ним (допустим 192.168.1.104). То есть пинг идет только на IP роутера (192.168.1.1). При этом дома у меня статический IP (белый). Подскажите пожалуйста, что не так? Конфигурация следующая:

Router ZT (172.25.180.41), домашняя LAN-сеть - 192.168.1.0/24.

Маршрут на контроллере ZT:

172.25.0.0/16   (LAN)	
192.168.1.0/24   via	172.25.180.41	

Правила фаерволла на роутере:

config zone 'vpn_zone'
	option name 'zerotier'
	option input 'ACCEPT'
	option forward 'ACCEPT'
	option output 'ACCEPT'
	option device 'zt+'
	option masq '1'
	option mtu_fix '1'

config forwarding
	option dest 'zerotier'
	option src 'lan'

config forwarding
	option dest 'lan'
	option src 'zerotier'

 , , , zerotier

Sunderland93
()

Как передать переменные окружения в systemd-xdg-autostart-generator?

Форум — Admin

Приветствую. Имеется следующая проблема: Sway, запускается небольшим скриптом из /usr/bin, экспортируя при этом ряд переменных окружения, например:

QT_QPA_PLATFORM=wayland
,
QT_QPA_PLATFORMTHEME=qt5ct
и так далее. Все это работает замечательно - приложения, запускаемые вручную, например через Rofi, эти переменные принимают. Однако, если добавить какое-нибудь приложение, например, Telegram, в автозапуск посредством добавления desktop-файла в ~/.config/autostart/, чтобы его прочитал systemd-xdg-autostart-generator и запустил, то эти переменные окружения игнорируются - приложение стартует с дефолтной темой и под Xwayland. Подскажите пожалуйста, каким образом можно передавать эти же переменные окружения приложениям из автозапуска?

 , ,

Sunderland93
()

Sway Input Configurator 1.3.0

Новости — Linux General
Sway Input Configurator 1.3.0
Группа Linux General

Доступен Sway Input Configurator 1.3.0 — утилита для простой настройки устройств ввода в Sway. Утилита написана на Python с использованием Qt5/PySide2, и позволяет в пару кликов настроить параметры клавиатуры, мыши и тачпада. Настройки хранятся в файле JSON, используются стандартные для Libinput опции настройки устройств ввода, будь то раскладка клавиатуры, комбинация клавиш для смены раскладки, настройка скорости указателя, эмуляция кнопок мыши в тачпаде и т.д.

( читать дальше... )

>>> Подробности

 , , ,

Sunderland93
()

Как установить значение Qt.DisplayRole для каждой строки в QTreeWidget?

Форум — Development

Приветствую. Столкнулся со следующей проблемой. Для примера есть вот такой JSON (settings):

{
  "keyboard-layout": [
    "us",
    "ru"
  ],
  "keyboard-variant": [
    "chr",
    ""
  ]
}

и такой код:

for key, value in layouts:
    if key in settings["keyboard-layout"]:
        self.layout_item = QTreeWidgetItem(self.ui.layouts)
        self.layout_item.setData(0, Qt.DisplayRole, value)
        self.layout_item.setData(0, Qt.UserRole, key)
        self.ui.layouts.addTopLevelItem(self.layout_item)
        for key, values in variants:
            value = values.split(":")[0]
            description = values.split(":")[1]
            if value in self.layout_item.data(0, Qt.UserRole):
                for key in settings["keyboard-variant"]:
                    if key == "":
                        self.layout_item.setData(1, Qt.DisplayRole, "Empty")
                        self.layout_item.setData(1, Qt.UserRole, "")
                    else:
                        self.layout_item.setData(1, Qt.DisplayRole, description)
                        self.layout_item.setData(1, Qt.UserRole, key)

Проблема заключается в следующем: при любом условии значения Qt.DisplayRole и Qt.UserRole устанавливаются на всю колонку целиком, а не на конкретные строки. В результате, если ключ равен "", то значение «Empty» установится на всю колонку, и каждая строка в ней будет с этим значением (а не только та, что нужно). Подскажите, есть ли способ индивидуального назначения itemData для каждой строки?

 , ,

Sunderland93
()

Не удается вывести все значения из словаря на Python

Форум — Development

Приветствую. Задача распарсить файл «/usr/share/X11/xkb/rules/base.lst», в котором находится список доступных раскладок клавиатуры, вариантов языка раскладки, моделей клавиатур и т.д. В принципе, получить желаемое удалось, однако при попытке вывести список всех значений из словаря с вариантами, выводятся далеко не все (из 479 выводятся всего 331). Подскажите пожалуйста, где косяк в коде? Может быть есть другой способ парсинга этого файла и разбивки его на списки по раскладкам, вариантом и т.д?

#!/usr/bin/env python3

layouts = {}
options = {}
variants = {}
models = {}
current = None

with open('/usr/share/X11/xkb/rules/base.lst') as f:
    for line in f:
        if len(line) < 2:
            continue
        one, two = line.strip().split(maxsplit=1)
        if one == '!':
            if two == 'layout':
                current = layouts
            elif two == 'option':
                current = options
            elif two == 'variant':
                current = variants
            elif two == 'model':
                current = models
        elif current is not None:
            current[one] = two

for key, values in variants.items():
    print(values)

 ,

Sunderland93
()

Посоветуйте хороший плагин компрессора для микрофона

Форум — Multimedia

Приветствую. Хочу немного упростить себе жизнь и свести постобработку голоса в Audacity к минимуму. Решил начать с компрессора. Хотелось бы прикрутить его к Audacity в виде плагина, чтобы он применялся прямо во время записи. Поставил пакет lsp-plugins, но там этих компрессоров десяток, если не больше. Микрофон динамический, Fifine K668, если это имеет значение. Посоветуйте пожалуйста годный плагин компрессора, желательно с минимумом настроек.

 , , ,

Sunderland93
()

Ubuntu Sway Remix 23.04

Новости — Ubuntu Linux
Группа Ubuntu Linux

Доступен выпуск дистрибутива Ubuntu Sway Remix 23.04, предоставляющего преднастроенный и готовый к использованию рабочий стол на основе мозаичного композитного менеджера Sway. Дистрибутив является неофициальной редакцией Ubuntu 23.04, созданной с оглядкой как на опытных пользователей GNU/Linux, так и новичков, желающих попробовать окружение мозаичных оконных менеджеров без необходимости в их долгой настройке. Для загрузки подготовлены сборки для архитектур amd64 и arm64 (Raspberry Pi).

( читать дальше... )

Скачать: https://ubuntusway.com/downloads.php

>>> Подробности

 , ,

Sunderland93
()

Lomiri в Debian

Галерея — Скриншоты

Приветствую. Решил протестировать недавно добавленную в основной репозиторий Debian графическую оболочку Lomiri (бывшая Unity 8). Хотя основное внимание разработчики из UBports уделяют её мобильной версии, в десктопный вариант также переносится ряд фиксов, в особенности по части дисплейного сервера Mir. Помимо оболочки перенесены и приложения из состава Lomiri, такие как файловый менеджер, эмулятор терминала, конфигуратор, приложение камеры, звонков и так далее.

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

Однако ещё остается ряд довольно раздражающих проблем. В частности, при резком изменении размера окна мышкой (ресайз), содержимое окна часто выплывает за границы рамки окна, особенно это заметно в приложении «Камера». Также имеются серьезные проблемы в работе GTK приложений с HeaderBar-заголовком (Client-Side Decorations, CSD). Двойная рамка окна, двойная тень на окнах (клиентская и серверная), а также, вследствие отсутствия поддержки порталов (xdg-desktop-portal), появляются довольно забавные приколы.

Приложения, работающие через Xwayland, вопросов не вызывают, работу игр пока не тестировал. Имеется также характерная для Wayland проблема с увеличенным курсором мыши, когда он находится над окнами программ на Qt. Глобальное меню отсутствует, что делает верхнюю панель малополезной.

В целом, если сравнить с последней официальной версией Unity 8, прогресс в десктопной оболочке не то, чтобы сильно далеко ушел. Да приложения стали запускаться существенно быстрее, конфигуратор стал действительно работающим, а не просто графическим интерфейсом с набором заглушек, благодаря Xwayland стала возможна работа многих приложений, не поддерживающих Wayland (в Unity 8 при использовании Xmir все часто крашилось, особенно браузеры).

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

>>> Просмотр (1920x1080, 642 Kb)

 , lomiri,

Sunderland93
()

Raspberry Pi: после выключения монитора уходит в сон

Форум — Desktop

Приветствую. Ситуация следующая: Raspberry Pi3 B, Ubuntu 22.04, Sway (своя сборка). Сама малинка подключена к телевизору. Все работает прекрасно, но если выключить телек и снова включить, то малина уходит в сон, и при этом ещё и запускается swaylock. Однако и без него срабатывает сон. В конфиге Sway нет каких-то специфичных настроек видеовыхода, все дефолтное. При этом в Raspberry Pi OS такого не наблюдается, выключаешь и включаешь монитор - система остается в прежнем состоянии. Подскажите пожалуйста, куда копать? Может какой-то режим энергосбережения срабатывает? На всякий случай прикладываю системные конфиги малины:

config.txt

[all]
kernel=vmlinuz
cmdline=cmdline.txt
initramfs initrd.img followkernel

[pi4]
max_framebuffers=2
arm_boost=1

[all]
# Enable the audio output, I2C and SPI interfaces on the GPIO header. As these
# parameters related to the base device-tree they must appear *before* any
# other dtoverlay= specification
dtparam=audio=on
dtparam=i2c_arm=on
dtparam=spi=on

# Comment out the following line if the edges of the desktop appear outside
# the edges of your display
disable_overscan=1

# If you have issues with audio, you may try uncommenting the following line
# which forces the HDMI output into HDMI mode instead of DVI (which doesn't
# support audio output)
hdmi_drive=2

[cm4]
# Enable the USB2 outputs on the IO board (assuming your CM4 is plugged into
# such a board)
dtoverlay=dwc2,dr_mode=host

[all]
# Enable the KMS ("full" KMS) graphics overlay, leaving GPU memory as the
# default (the kernel is in control of graphics memory with full KMS)
dtoverlay=vc4-kms-v3d

# Autoload overlays for any recognized cameras or displays that are attached
# to the CSI/DSI ports. Please note this is for libcamera support, *not* for
# the legacy camera stack
camera_auto_detect=1
display_auto_detect=1

# Config settings specific to arm64
arm_64bit=1
dtoverlay=dwc2"

cmdline.txt

zswap.enabled=1 zswap.zpool=z3fold zswap.compressor=lz4 dwc_otg.lpm_enable=0 console=tty1 root=LABEL=writable rootfstype=ext4 rootwait fixrtc quiet splash 

 , ,

Sunderland93
()

mtools выдает «Disk full» при попытке сборки дистрибутива через live-build

Форум — Admin

Приветствую. До недавнего времени все прекрасно работало и собиралось. Однако пару дней назад, при попытке сборки Ubuntu Sway Remix (мой кастомный дистрибутив) с помощью этого https://github.com/Ubuntu-Sway/iso-builder на последних этапах, когда создается образ EFI для GRUB, вылетает ошибка «Disk full», при том что места на диске навалом. То же самое происходит со сборкой ElementaryOS (скрипты те же самые, им отписался). Выяснил, что ошибку выдает скрипт, создающийся на одном из этапов. Вот он https://pastebin.com/QxS7Stub и как я понял - виновата строка

mcopy -m -o -i "/grub-efi-temp/boot/grub/efi.img" /grub-efi-temp/EFI/boot/*.efi 	"::EFI/boot"
. Пробовал собрать на трех разных машинах, даже просил других проверить. Везде одно и то же, и никак не могу понять причину. Может кто подсказать в чем проблема?

 , , , ,

Sunderland93
()

Qt Designer: проблема с изменением размера формы

Форум — Development

Приветствую. Видимо что-то накосячил с лэйаутами, из-за чего неправильно изменяется размер окна. То есть еняется размер самого окна (в моем случае QMainWindow), но виджеты внутри несжимаемы, и не дают полностью нормально уменьшить размер окна. Подскажите пожалуйста, в чем косяк? Сама форма: https://pastebin.com/xtKv9Fch

 ,

Sunderland93
()

Добавление нескольких значений в QTreeWidgetItem

Форум — Development

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

layouts = load_json(layout_list)
        self.layout_item = QTreeWidgetItem(self.ui.layouts)
        for key, values in layouts.items():
            if values == settings["keyboard-layout"]:
                self.layout_item.setData(0, Qt.DisplayRole, key)
                self.layout_item.setData(0, Qt.UserRole, values)
        self.ui.layouts.addTopLevelItem(self.layout_item)

self.ui.layouts

это обычный QTreeWidget, состоящий из двух колонок.

layouts
подгружает json-файл со списком языков раскладки (например «Russian»: «ru»), а в
settings["keyboard-layout"]
находится дефолтное значение вида
"keyboard-layout": [
    "ru",
    "us"
  ],

Если элемент в списке один, то все работает - в QTreeWidget появляется строка Russian, а

self.layouts_item.data(0, Qt.UserRole)
возвращает значение «ru». Но когда элементов несколько, или один, но заключенный в список, в QTreeWidget пустота. Подскажите пожалуйста, как решить эту проблему?

 ,

Sunderland93
()

Ubuntu Sway Remix 22.10

Новости — Ubuntu Linux
Ubuntu Sway Remix 22.10
Группа Ubuntu Linux

Состоялся релиз дистрибутива Ubuntu Sway Remix 22.10.

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

( читать дальше... )

>>> Подробности

 , ,

Sunderland93
()

PySide2 и Qt Designer: обращение к ui напрямую или конвертация в класс Python?

Форум — Development

Приветствую. В чем принципиальная разница между использованием формы Qt Designer напрямую, с помощью QUiLoader и её предварительной конвертацией в класс Python? Какие преимущества и недостатки у того или иного способа? На данный момент у меня весь интерфейс описан непосредственно кодом, но хочу понять - насколько оправдано подключение готовой формы Qt Designer и обращение к объектам внутри неё?

 , , ,

Sunderland93
()

Sway Input Configurator 1.0.0

Новости — Linux General
Sway Input Configurator 1.0.0
Группа Linux General

Итак, после некоторых боданий с кодом и не без помощи добрых людей, представляю вашему вниманию утилиту для настройки устройств ввода в Sway - Sway Input Configurator.

( читать дальше... )

>>> Подробности

 , , ,

Sunderland93
()

Python3/PySide2: соответствие JSON-значения JSON-ключу в QComboBox

Форум — Development

Приветствую. Постараюсь объяснить что нужно: имеется ряд QComboBox'ов, заполняемых нужными значениями из общего файла настроек settings (в формате JSON), при изменении выбранного значения в каждом комбобоксе - соответствующий ключ в settings получает выбранное в комбобоксе значение:

      self.repeatDelay = QSpinBox()
        self.repeatDelay.setMaximum(300)
        self.repeatDelay.setValue(settings["keyboard-repeat-delay"])
        self.repeatDelay.valueChanged.connect(self.on_repeat_delay_value_changed)

        self.repatRate = QSpinBox()
        self.repatRate.setMaximum(100)
        self.repatRate.setValue(settings["keyboard-repeat-rate"])
        self.repatRate.valueChanged.connect(self.on_repeat_rate_value_changed)

        self.caps_lock = QComboBox()
        for item in ["disabled", "enabled"]:
            self.caps_lock.addItem(item)
        self.caps_lock.setCurrentText(settings["keyboard-capslock"])
        self.caps_lock.activated.connect(self.on_caps_lock_text_changed)

        self.num_lock = QComboBox()
        for item in ["disabled", "enabled"]:
            self.num_lock.addItem(item)
        self.num_lock.setCurrentText(settings["keyboard-numlock"])
        self.num_lock.activated.connect(self.on_num_lock_text_changed)

        self.formLayout = QFormLayout()

        self.formLayout.addRow(QLabel("Layout:"), self.layoutName)
        self.formLayout.addRow(QLabel("Variant:"), self.variantName)
        self.formLayout.addRow(QLabel("Shortcut:"), self.shortcutName)
        self.formLayout.addRow(QLabel("Repeat delay:"), self.repeatDelay)
        self.formLayout.addRow(QLabel("Repeat rate:"), self.repatRate)
        self.formLayout.addRow(QLabel("CapsLock"), self.caps_lock)
        self.formLayout.addRow(QLabel("NumLock"), self.num_lock)

        self.setLayout(self.formLayout)

    def on_repeat_delay_value_changed(self):
        settings["keyboard-repeat-delay"] = self.repeatDelay.value()

    def on_repeat_rate_value_changed(self):
        settings["keyboard-repeat-rate"] = self.repatRate.value()

    def on_caps_lock_text_changed(self):
        settings["keyboard-capslock"] = self.caps_lock.currentText()

    def on_num_lock_text_changed(self):
        settings["keyboard-numlock"] = self.num_lock.currentText()
Однако, имеются другие комбобоксы, заполняемые данными уже из других json-файлов. В них будут отображаться ключи из этих файлов, и мне нужно получить соответствующее каждому ключу значение, чтобы по аналогичному выше сигналу - прописывать его в нужный ключ уже в settings-файле. Например, в комбобоксе выбран ключ «Language», которому соответствует значение «ru». Как это же значение передать ключу «keyboard-layout» уже в файле settings?

 , , ,

Sunderland93
()

RSS подписка на новые темы