GUI/TUI библиотека Linux

Вы можете использовать svg. Сделайте положение контейнера / обертки относительным, сначала установите svg как статически, а затем разместите абсолютно позиционированное содержимое (сверху: 0; слева: 0; справа: 0; внизу: 0;)

Пример с 16: 9 пропорций:

image.svg: (может быть встроено в src)

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 9" width="16" height="9"/>

CSS:

.container {
  position: relative;
}
.content {
  position: absolute;
  top:0; left:0; right:0; bottom:0;
}

HTML:

<div class="container">
  <img style="width: 100%" src="image.svg" />
  <div class="content"></div>
</div>

Обратите внимание, что встроенный svg не работает, но вы можете urlencode svg и вставить его в атрибут img src следующим образом:

<img src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%209%22%20width%3D%2216%22%20height%3D%229%22%2F%3E" style="width: 100%;" />
6
задан A. Rex 19 January 2009 в 17:38
поделиться

8 ответов

Вы могли записать свою программу в использование ncurses и затем использовать PDCurses для преобразования его в приложение X11 - поскольку readme рекламируют.

Я знаю это, потому что я использовал его в качестве портативных проклятий, хотя я никогда не тестировал его возможности X11

2
ответ дан 10 December 2019 в 00:47
поделиться

Парни GoboLinux создали свой собственный инструментарий для Python под названием AbsTK, они используют его для своего установщика, который на самом деле работает действительно хороший. Я никогда не использовал инструментарий сам, но приложения, созданные с ним, кажется твердым.

2
ответ дан 10 December 2019 в 00:47
поделиться

Не точно библиотека, но Вы могли рассмотреть запись веб-приложения, которое ухудшается хорошо к Lynx

1
ответ дан 10 December 2019 в 00:47
поделиться

Там Проклял GTK, но это кажется немного датированным. Я нашел некоторые ссылки на порт QT к ncurses под названием спокойная Консоль, но это, кажется, исчезло.

1
ответ дан 10 December 2019 в 00:47
поделиться

Возможно, tcl/tk обеспечил бы то, что Вы хотите http://www.tcl.tk/

Вот страница при взаимодействии через интерфейс с проклятиями. Существует требование там интеграции с ncurses.

http://www2.tcl.tk/2372

0
ответ дан 10 December 2019 в 00:47
поделиться

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

Вы будете более обеспеченным структурированием Вашего кода с помощью шаблона MVC, и обеспечивая отдельные представления и контроллеры для каждой платформы, для которой Вы нацелены. Снижение всей логики к образцовым классам обладает несколькими другими преимуществами:

  • Код будет легче протестировать, потому что Вы вынуждены не допустить пользовательский интерфейс в фактическую доменную логику.
  • Ваша программа может иметь пользовательские интерфейсы, у которых есть очень мало общее, например, веб-UI или UI, управляемый речью.
  • Можно запустить программу легко без UI вообще (т.е. написать сценарий его) путем доступа к образцовым классам непосредственно таким же образом, которые делают классы контроллера.
1
ответ дан 10 December 2019 в 00:47
поделиться

Я думаю, что используется для конфигурирования ядра Linux, когда компиляция является dialog/cdialog/xdialog. Но это было некоторое время, так как я скомпилировал ядро, таким образом, моя память может быть выключена. Самая многообещающая ссылка, которую я могу найти, является этим для Xdialog.

0
ответ дан 10 December 2019 в 00:47
поделиться

Библиотека, которая обеспечивает независимость YaST, чтобы сделать ncurses, gtk и qt с одной кодовой базой, предоставляет то, что вы ищете, и она не привязана к самому YaST.

На самом деле libyui требует только стандартную библиотеку C++ и phtreads (IIRC). Плагины пользовательского интерфейса, конечно, требуют соответствующих библиотек (Qt, ncurses). YaST использует libyui через набор привязок YCP, которые экспортируют YCP-подобный API поверх libyui.

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

Единственная часть, которая специфична для SUSE - это упаковка, поэтому вам нужно будет упаковать ее самостоятельно. Stackoverflow не позволил мне сделать ссылку более одного раза. Код библиотеки можно найти в блоге Клауса. Замените libyui на "qt" и "ncurses" для кода плагина.

Также наберите в гугле "YaST Independence From YCP", чтобы найти запись в блоге Андреаса Егера на эту тему.

3
ответ дан 10 December 2019 в 00:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: