Вы имеете ввиду использование WEB-браузера и HTML ? Или чтото иное ?Olej писал(а): Есть ещё очень интересный вариант, описываемый в Интернет: реализуется средствами пакетов Go WEB-интерфейс, куда код Go отрисовывает виджеты и откуда получает реакции пользователя (кнопки управления и т.д.).
Это реализуется исключительно средствами Go.
P.S. Если снова попадётся на глаза (уже несколько раз видел) - выложу ссылки.
Это очень даже стоит попробовать!
Go: GUI
Модератор: Olej
- perseus
- Писатель
- Сообщения: 99
- Зарегистрирован: 11 май 2017, 18:01
- Откуда: Щёлково, Московская обл.
- Контактная информация:
Re: GUI на Go
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: GUI на Go
Замечательноperseus писал(а):Прошу прощения, вот прикреплённый файл imitguiDemo.go
А остальные файлы? :
Они что из себя представляют?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
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: GUI на Go
Да, именно.perseus писал(а):Вы имеете ввиду использование WEB-браузера и HTML ? Или чтото иное ?
Я видел очень интересный реализации (малой кровью) на Go, выполненные в такой технике.
- perseus
- Писатель
- Сообщения: 99
- Зарегистрирован: 11 май 2017, 18:01
- Откуда: Щёлково, Московская обл.
- Контактная информация:
Re: GUI на Go
Олег Иванович, остальные файлы к демонстрации не имеют никакого отношения, они просто лежали в этой папке. Файл imitguiDemo.go я создал на основании своих рабочих версий программы имитатора, их тут обсуждать не надо.Olej писал(а): А остальные файлы? :
Они что из себя представляют?
С уважением ...
- perseus
- Писатель
- Сообщения: 99
- Зарегистрирован: 11 май 2017, 18:01
- Откуда: Щёлково, Московская обл.
- Контактная информация:
Re: GUI на Go
У меня был опыт реализации интерфейса GUI с помощью WEB-браузера и HTML, используя шаблоны (patterns) Go, к базе данных PostgresQL. Да, так можно создавать GUI, но тогда необходим WEB-браузер, а это не во всех случях приемлимо. Tk, Qt, Gtk дают возможность создавать "автономный" GUI (автономный в кавычках, учитывая его зависимость от динамических библиотек)Olej писал(а):Да, именно.perseus писал(а):Вы имеете ввиду использование WEB-браузера и HTML ? Или чтото иное ?
Я видел очень интересный реализации (малой кровью) на Go, выполненные в такой технике.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: GUI на Go
Только сейчас, в свете напряжённых событий прошедшей недели, дошли руки хотя бы взглянуть на этот Go GUI проект.perseus писал(а):остальные файлы к демонстрации не имеют никакого отношения, они просто лежали в этой папке.
Код: Выделить всё
[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)
Придётся вспоминать что там с конфигурированием пакетов в GoLang...
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: GUI на Go
Простейший способ, чтобы не сильно мудрить (с нормальной установкой пакетов средствами GoLang) это:Olej писал(а):Придётся вспоминать что там с конфигурированием пакетов в 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
Копирую туда *.go из скачанного пакета go-tk:perseus писал(а):заинтересованным советую поизучать примеры из пакетов gothic и gotk, выложенных на github.com
там очень доходчиво демонстрируются различные приёмы работы с Tcl/Tk из программы на Go
https://github.com/nsf/gothic
https://github.com/edartuz/go-tk
Код: Выделить всё
[olej@dell Go]$ tree src
src
└── github.com
└── edartuz
└── go-tk
└── gotk
└── gotk.go
4 directories, 1 file
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: GUI на Go
Теперь всё готово...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.
Код: Выделить всё
[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
Выполнено!
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: GUI на Go
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 );
^
Но всё скомпилировалось:
Код: Выделить всё
[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 **********************************
- Вложения
-
- tcl1.png (17.25 КБ) 3557 просмотров
- perseus
- Писатель
- Сообщения: 99
- Зарегистрирован: 11 май 2017, 18:01
- Откуда: Щёлково, Московская обл.
- Контактная информация:
Re: GUI на Go
Эти два предупреждения тянутся из пакета gotk, они появляются при компиляции самого пакета gotk.P.S. Автору - это плохая история, эти 2 предупреждения - их не должно быть!Код: Выделить всё
[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 ); ^
Пакет gothic компилируется на Fedora25 без ошибок и предупреждений, рекомендую его использовать.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей