794 / 546 / 61
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
1

Библиотека для TUI

13.04.2011, 11:49. Показов 4776. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
День добрый.

Подскажите, пожалуйста, существует ли библиотека, основанная на curses (ncurses, pdcurses...), для создания TUI посредством виджетов или подобной технологии. Нужна библиотека, работающая на Linux и Windows.

Не по теме:

Слышал о CDK (Curses Development Kit), под cygwin успешно выполнил ./configure, но make после этого нашёл ошибки чуть ли не во всём исходном коде CDK. Причины ошибок я так и не нашёл. В общем, не удалось мне его собрать, да и в INSTALL ничего про cygwin не сказано.



Спасибо.

Добавлено через 16 часов 48 минут
up. всё ещё актуально.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2011, 11:49
Ответы с готовыми решениями:

Библиотека для контроллера
Здравствуйте. Пишу библиотеку для микроконтроллера. Не могу разобраться, почему один и тот же код в...

Библиотека на Си для Arduino
Всем привет. Столкнулся с необходимостью написания библиотеки (вообще не знаю, как это делать)....

Библиотека для ардуино на Си
Здравствуйте. Написал библиотеку на си для микроконтроллера ардуино. Подключаю ее, использую из нее...

Портабельная библиотека для C++
Поделитесь опытом использования портабельных С++ библиотек (linux, sun, win32) ? Необходимо...

13
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12737 / 7567 / 1764
Регистрация: 25.07.2009
Сообщений: 13,956
13.04.2011, 11:55 2
talis, запустите cygwin-овский инсталятор, найдите там в пакетах ncurses (там же и для девелоперов есть), установите, и будет вам счастье...
0
794 / 546 / 61
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
13.04.2011, 12:18  [ТС] 3
easybudda, спасибо за ответ. Ncurses в cygwin стоит, и devel, и обычный. Там при сборке ошибки линковки - ему ещё что-то нужно. Да они и не говорили ничего про работоспособность на cygwin.

Знаю я про curses, писал на нём кучу всего. Вопрос не в этом - я слышал о библиотеках, основанных на curses, которые позволяют типа как в vcl или qt виджетами накидывать GUI, чтобы не мучаться с элементами управления. Я, правда, не помню названий. О них спрашиваю.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12737 / 7567 / 1764
Регистрация: 25.07.2009
Сообщений: 13,956
13.04.2011, 12:30 4
talis, два первых похожих найденых гуглом по запросу "ncurses based widgets"
http://www.clifford.at/stfl/
http://www.soft82.com/download/Windows/MYTUI
2
130 / 15 / 6
Регистрация: 05.08.2013
Сообщений: 285
29.05.2019, 14:10 5
Может, будет кому полезно - очень хорошая библиотека
dialog - https://invisible-island.net/dialog/
1
Искусственный интеллект
112 / 82 / 34
Регистрация: 26.08.2020
Сообщений: 590
Записей в блоге: 1
10.10.2020, 21:20 6
fier, А вы не можете подсказать как её устанавливать?
0
130 / 15 / 6
Регистрация: 05.08.2013
Сообщений: 285
28.10.2020, 17:51 7
Здравствуйте, NQUARE, только сейчас увидел ваше сообщение.
Завтра отпишусь подробнее.

В Linux она уже по-умолчанию есть, вроде бы.
0
Искусственный интеллект
112 / 82 / 34
Регистрация: 26.08.2020
Сообщений: 590
Записей в блоге: 1
02.11.2020, 21:38 8
fier, Инструкция будет?)
0
130 / 15 / 6
Регистрация: 05.08.2013
Сообщений: 285
03.11.2020, 22:29 9
Да, конечно)
Извините, что пропал:=)

Хм.
Для Debian нужно установить Ncurses сперва:
Bash
1
2
sudo apt-get install libncurses5-dev libncursesw5-dev
sudo ldconfig

Далее, скачать виджет
Здесь

Собрать его и добавить в системные пути.
Внутри папки с виджетом:
Bash
1
2
3
4
./configure
make
sudo make install
ldconfig
В коде это выглядит примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "dialog.h"
#include <cstdlib>
#include <iostream>
#include <cstdio>
#include <stdexcept>
#include <stdio.h>
//#include "ncurses.h"
//#include <fstream> //required while dealing with files
 
using namespace std;
/*
 * 
 */
int main(int argc, char** argv) {
    int status;
    int pos = 1;
    while (pos!=-1) {
        switch (pos) {
            case 1: {
                init_dialog(stdin, stdout);
                
                int rows;
                char **list;
                list = (char **) malloc(2+1);
                (list)[0] = dlg_strclone("");
                (list)[1] = 0;
                status = dlg_editbox("Write message", &list, &rows, 20,30);
                if (status == DLG_EXIT_CANCEL ) {
                    pos = -1;
                }
                break;
            }
        }
    }
    end_dialog();
    initscr();
    clear();
    refresh();
    endwin();
    
    cout << "Good bye!" << endl;
    
    return status;
}
Ну собственно компилируется всё это примерно так:
Bash
1
g++ main.cpp -ldialog -lncurses -IPath_to_dialoglib  -o SimpleTUIApp
Приведённый выше пример будет выглядеть примерно так:
Библиотека для TUI


Мануал к библиотеке на той же страничке, где скачиваете (выше).
Есть также возможность создать и использовать такой GUI с помощью
какого-нибудь скриптового языка (к примеру Python), т.к. после компиляции и сборки виджета,
вы обнаружите внутри утилиту dialog

П.С.
Были проблемы с библиотекой
и я к ним обращался.
mail list trouble

П.П.С.
Во Windows даже не знаю, но, наверное,
всё-таки можно. Если хотите, то можно попробовать вместе разобраться.
0
Искусственный интеллект
112 / 82 / 34
Регистрация: 26.08.2020
Сообщений: 590
Записей в блоге: 1
09.11.2020, 20:02 10
Цитата Сообщение от fier Посмотреть сообщение
Если хотите, то можно попробовать вместе разобраться.
Да, было бы не плохо
0
130 / 15 / 6
Регистрация: 05.08.2013
Сообщений: 285
10.11.2020, 23:21 11
Здесь есть сборка ncurses MinGW для Windows-7 32-bit/64-bit
Можно попробовать от неё начинать.
0
Искусственный интеллект
112 / 82 / 34
Регистрация: 26.08.2020
Сообщений: 590
Записей в блоге: 1
11.11.2020, 21:10 12
Я уже собирал ncurses, всё прошло довольно гладко.
Меня интересует как собирать именно dialog под windows.
В папке не нашёл ни каких Makefile's.
0
130 / 15 / 6
Регистрация: 05.08.2013
Сообщений: 285
12.11.2020, 12:14 13
Make файл генерируется после запуска скрипта configure.
Но там больше для Linux всё сконфигурировано.
0
Искусственный интеллект
112 / 82 / 34
Регистрация: 26.08.2020
Сообщений: 590
Записей в блоге: 1
13.11.2020, 10:38 14
Цитата Сообщение от fier Посмотреть сообщение
Make файл генерируется после запуска скрипта configure.
Я понял, но как его запустить?
А если его там нету?
Цитата Сообщение от fier Посмотреть сообщение
Но там больше для Linux всё сконфигурировано.
Думаю переконфигурировать будет не сложно
0
13.11.2020, 10:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2020, 10:38
Помогаю со студенческими работами здесь

Библиотека С++ для RS-232
Народ, а есть уже написанная кем нибуть библиотека на С++ для RS-232? Начал изучать С++ на windows...

Библиотека для работы с БД
Привет! Нужна нормальная библиотека под linux для подключения к базам данных, в особенности для...

Библиотека для работы со строками
Нужно определить результат выполнения фрагмента программы: char str1=&quot;C++ language&quot;; char...

Графическая библиотека и гуи для С++
Привет всем,подскажите ,пожалуйста,есть ли аналоги питоновского матплотлиба и гуи ,кроме qt в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru