Rating@Mail.ru

Форум по операционной системе GNU/Linux и свободному программному обеспечению


Текущее время: 18 дек 2017, 12:08

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: GUI на Go
Непрочитанное сообщениеДобавлено: 14 май 2017, 13:58 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 11 май 2017, 18:01
Сообщения: 99
Откуда: Щёлково, Московская обл.
Olej писал(а):
Есть ещё очень интересный вариант, описываемый в Интернет: реализуется средствами пакетов Go WEB-интерфейс, куда код Go отрисовывает виджеты и откуда получает реакции пользователя (кнопки управления и т.д.).
Это реализуется исключительно средствами Go.
P.S. Если снова попадётся на глаза (уже несколько раз видел) - выложу ссылки.

Это очень даже стоит попробовать!


Вы имеете ввиду использование WEB-браузера и HTML ? Или чтото иное ?


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: GUI на Go
Непрочитанное сообщениеДобавлено: 14 май 2017, 14:00 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10265
Откуда: Харьков
perseus писал(а):
Прошу прощения, вот прикреплённый файл imitguiDemo.go

Замечательно ;-)
А остальные файлы? :cry: :
perseus писал(а):
Код:
maksim@ASUS ~/Progy/Go/src/imitator $ ls -l
итого 1864
-rw-r--r-- 1 maksim maksim    7594 апр.  14 15:53 dumpIMIT
-rw-r--r-- 1 maksim maksim    7372 апр.  13 14:01 dumpSHS
-rw-r--r-- 1 maksim maksim   40032 мая    3 14:57 imit.go
-rwxr-xr-x 1 maksim maksim 1793800 мая   14 13:38 imitguiDemo
-rw-r--r-- 1 maksim maksim   11019 мая   14 12:59 imitguiDemo.go
-rw-r--r-- 1 maksim maksim   13260 мая   14 12:09 imitgui.go
-rw-r--r-- 1 maksim maksim   24353 апр.  25 13:52 imitproto.go
drwx------ 2 maksim maksim    4096 апр.  28 14:15 params


Они что из себя представляют?


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: GUI на Go
Непрочитанное сообщениеДобавлено: 14 май 2017, 14:01 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10265
Откуда: Харьков
perseus писал(а):
Вы имеете ввиду использование WEB-браузера и HTML ? Или чтото иное ?

Да, именно.
Я видел очень интересный реализации (малой кровью) на Go, выполненные в такой технике.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: GUI на Go
Непрочитанное сообщениеДобавлено: 14 май 2017, 14:04 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 11 май 2017, 18:01
Сообщения: 99
Откуда: Щёлково, Московская обл.
Olej писал(а):
А остальные файлы? :cry: :
Они что из себя представляют?

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


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: GUI на Go
Непрочитанное сообщениеДобавлено: 14 май 2017, 14:09 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 11 май 2017, 18:01
Сообщения: 99
Откуда: Щёлково, Московская обл.
Olej писал(а):
perseus писал(а):
Вы имеете ввиду использование WEB-браузера и HTML ? Или чтото иное ?

Да, именно.
Я видел очень интересный реализации (малой кровью) на Go, выполненные в такой технике.

У меня был опыт реализации интерфейса GUI с помощью WEB-браузера и HTML, используя шаблоны (patterns) Go, к базе данных PostgresQL. Да, так можно создавать GUI, но тогда необходим WEB-браузер, а это не во всех случях приемлимо. Tk, Qt, Gtk дают возможность создавать "автономный" GUI (автономный в кавычках, учитывая его зависимость от динамических библиотек)


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: GUI на Go
Непрочитанное сообщениеДобавлено: 21 май 2017, 16:28 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10265
Откуда: Харьков
perseus писал(а):
остальные файлы к демонстрации не имеют никакого отношения, они просто лежали в этой папке.

Только сейчас, в свете напряжённых событий прошедшей недели, дошли руки хотя бы взглянуть на этот Go GUI проект.
Код:
[olej@dell Go]$ go build imitguiDemo.go
imitguiDemo.go:19:2: cannot find package "github.com/edartuz/go-tk/gotk" in any of:
   /usr/lib/golang/src/github.com/edartuz/go-tk/gotk (from $GOROOT)
   /home/olej/2016_WORK/GoBook/src/github.com/edartuz/go-tk/gotk (from $GOPATH)

:cry:
Придётся вспоминать что там с конфигурированием пакетов в GoLang...


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: GUI на Go
Непрочитанное сообщениеДобавлено: 21 май 2017, 19:43 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10265
Откуда: Харьков
Olej писал(а):
Придётся вспоминать что там с конфигурированием пакетов в GoLang...

Простейший способ, чтобы не сильно мудрить (с нормальной установкой пакетов средствами GoLang) это:
Прописываю в $HOME/.bashrc строчку:
Код:
[olej@dell 2]$ cat ~/.bashrc | grep GO
export GOPATH=$HOME/2017_WORK/own.WORK/Go

Проверяю:
Код:
[olej@dell 2]$ env | grep GO
GOPATH=/home/olej/2017_WORK/own.WORK/Go

Создаю указанный путь:
Код:
[olej@dell Go]$ mkdir -p src/github.com/edartuz/go-tk/gotk

perseus писал(а):
заинтересованным советую поизучать примеры из пакетов gothic и gotk, выложенных на github.com
там очень доходчиво демонстрируются различные приёмы работы с Tcl/Tk из программы на Go
https://github.com/nsf/gothic
https://github.com/edartuz/go-tk

Копирую туда *.go из скачанного пакета go-tk:
Код:
[olej@dell Go]$ tree src
src
└── github.com
    └── edartuz
        └── go-tk
            └── gotk
                └── gotk.go

4 directories, 1 file


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: GUI на Go
Непрочитанное сообщениеДобавлено: 21 май 2017, 20:03 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10265
Откуда: Харьков
Olej писал(а):
Копирую туда *.go из скачанного пакета go-tk:

Теперь всё готово...
Код:
[olej@dell Go]$ go build imitguiDemo.go
# github.com/edartuz/go-tk/gotk
src/github.com/edartuz/go-tk/gotk/gotk.go:7:18: fatal error: tcl.h: No such file or directory
 // #include <tcl.h>
                  ^
compilation terminated.

Это привычная ошибка - не установлен *-devel пакет (разработчика), в данном случае tcl:
Код:
[olej@dell ~]$ sudo dnf install tcl-devel
[sudo] пароль для olej:
Последняя проверка окончания срока действия метаданных: 1:17:05 назад, Sun May 21 17:44:59 2017.
Зависимости разрешены.
=====================================================================================================================================
 Package                        Архитектура                 Версия                                 Репозиторий                 Размер
=====================================================================================================================================
Установка:
 tcl-devel                      x86_64                      1:8.6.4-1.fc23                         fedora                      186 k
 
Результат операции
=====================================================================================================================================
Установка  1 Пакет
 
Объем загрузки: 186 k
Объем изменений: 766 k
Продолжить? [д/Н]: y
Загрузка пакетов:
tcl-devel-8.6.4-1.fc23.x86_64.rpm                                                                    114 kB/s | 186 kB     00:01
-------------------------------------------------------------------------------------------------------------------------------------
Общий размер                                                                                          65 kB/s | 186 kB     00:02
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно
Выполнение транзакции
  Установка    : tcl-devel-1:8.6.4-1.fc23.x86_64                                                                                 1/1
  Проверка     : tcl-devel-1:8.6.4-1.fc23.x86_64                                                                                 1/1

Установлено:
  tcl-devel.x86_64 1:8.6.4-1.fc23
 
Выполнено!

Дальше...
Код:
[olej@dell Go]$ go build imitguiDemo.go
# github.com/edartuz/go-tk/gotk
src/github.com/edartuz/go-tk/gotk/gotk.go:8:17: fatal error: tk.h: No such file or directory
 // #include <tk.h>

compilation terminated.
                 ^

Та же история:
Код:
[olej@dell ~]$ sudo dnf install tk-devel
Последняя проверка окончания срока действия метаданных: 1:42:09 назад, Sun May 21 17:44:59 2017.
Зависимости разрешены.
=====================================================================================================================================
 Package                        Архитектура                  Версия                               Репозиторий                  Размер
=====================================================================================================================================
Установка:
 tk-devel                       x86_64                       1:8.6.4-2.fc23                       fedora                       495 k
 
Результат операции
=====================================================================================================================================
Установка  1 Пакет

Объем загрузки: 495 k
Объем изменений: 894 k
Продолжить? [д/Н]: y
Загрузка пакетов:
tk-devel-8.6.4-2.fc23.x86_64.rpm                                                                     453 kB/s | 495 kB     00:01
-------------------------------------------------------------------------------------------------------------------------------------
Общий размер                                                                                         220 kB/s | 495 kB     00:02
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно
Выполнение транзакции
  Установка    : tk-devel-1:8.6.4-2.fc23.x86_64                                                                                  1/1
  Проверка     : tk-devel-1:8.6.4-2.fc23.x86_64                                                                                  1/1

Установлено:
  tk-devel.x86_64 1:8.6.4-2.fc23
 
Выполнено!


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: GUI на Go
Непрочитанное сообщениеДобавлено: 21 май 2017, 20:11 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10265
Откуда: Харьков
Olej писал(а):
Дальше...

Код:
[olej@dell Go]$ go build imitguiDemo.go
# github.com/edartuz/go-tk/gotk
In file included from $WORK/github.com/edartuz/go-tk/gotk/_obj/_cgo_export.c:2:0:
src/github.com/edartuz/go-tk/gotk/gotk.go: В функции «CmdCallback»:
src/github.com/edartuz/go-tk/gotk/gotk.go:12:17: предупреждение: приведение указателя к целому другого размера [-Wpointer-to-int-cast]
 //    CmdDispatch((unsigned int)clientData);
                 ^
src/github.com/edartuz/go-tk/gotk/gotk.go: В функции «RegisterCmd»:
src/github.com/edartuz/go-tk/gotk/gotk.go:16:57: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
 //    Tcl_CreateObjCommand( interp, cmdName, CmdCallback, (void *)cb, NULL );
                                                         ^
# github.com/edartuz/go-tk/gotk
src/github.com/edartuz/go-tk/gotk/gotk.go: В функции «CmdCallback»:
src/github.com/edartuz/go-tk/gotk/gotk.go:12:17: предупреждение: приведение указателя к целому другого размера [-Wpointer-to-int-cast]
 //    CmdDispatch((unsigned int)clientData);
                 ^
src/github.com/edartuz/go-tk/gotk/gotk.go: В функции «RegisterCmd»:
src/github.com/edartuz/go-tk/gotk/gotk.go:16:57: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
 //    Tcl_CreateObjCommand( interp, cmdName, CmdCallback, (void *)cb, NULL );
                                                         ^

P.S. Автору - это плохая история, эти 2 предупреждения - их не должно быть!

Но всё скомпилировалось:
Код:
[olej@dell Go]$ ls -l im*
-rwxr-xr-x 1 olej olej 2745888 май 21 19:29 imitguiDemo
-rw-rw-r-- 1 olej olej   11019 май 21 17:29 imitguiDemo.go

Можно запускать:
Код:
[olej@dell Go]$ ./imitguiDemo
======================= Start imit ==================================
2017/05/21 19:32:08 ------------ Imit started --------------
2017/05/21 19:32:08 ------------ Imit finished --------------
************************ Stop imit **********************************

Можно поклацать... :lol:


Вложения:
tcl1.png
tcl1.png [ 17.25 КБ | Просмотров: 418 ]
Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: GUI на Go
Непрочитанное сообщениеДобавлено: 28 май 2017, 16:23 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 11 май 2017, 18:01
Сообщения: 99
Откуда: Щёлково, Московская обл.
Цитата:
Код:
[olej@dell Go]$ go build imitguiDemo.go
# github.com/edartuz/go-tk/gotk
In file included from $WORK/github.com/edartuz/go-tk/gotk/_obj/_cgo_export.c:2:0:
src/github.com/edartuz/go-tk/gotk/gotk.go: В функции «CmdCallback»:
src/github.com/edartuz/go-tk/gotk/gotk.go:12:17: предупреждение: приведение указателя к целому другого размера [-Wpointer-to-int-cast]
 //    CmdDispatch((unsigned int)clientData);
                 ^
src/github.com/edartuz/go-tk/gotk/gotk.go: В функции «RegisterCmd»:
src/github.com/edartuz/go-tk/gotk/gotk.go:16:57: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
 //    Tcl_CreateObjCommand( interp, cmdName, CmdCallback, (void *)cb, NULL );
                                                         ^
# github.com/edartuz/go-tk/gotk
src/github.com/edartuz/go-tk/gotk/gotk.go: В функции «CmdCallback»:
src/github.com/edartuz/go-tk/gotk/gotk.go:12:17: предупреждение: приведение указателя к целому другого размера [-Wpointer-to-int-cast]
 //    CmdDispatch((unsigned int)clientData);
                 ^
src/github.com/edartuz/go-tk/gotk/gotk.go: В функции «RegisterCmd»:
src/github.com/edartuz/go-tk/gotk/gotk.go:16:57: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]
 //    Tcl_CreateObjCommand( interp, cmdName, CmdCallback, (void *)cb, NULL );
                                                         ^

P.S. Автору - это плохая история, эти 2 предупреждения - их не должно быть!

Эти два предупреждения тянутся из пакета gotk, они появляются при компиляции самого пакета gotk.
Пакет gothic компилируется на Fedora25 без ошибок и предупреждений, рекомендую его использовать.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.478s | 19 Queries | GZIP : On ]