On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
moderator




Пост N: 2382
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.10.24 15:34. Заголовок: Как я конвертировал простую прогу на Питоне в Минигуи


Ниже представлен код на Python, использующий библиотеку `tkinter` для создания графического интерфейса.

 цитата:
 
from tkinter import Tk, Frame, Entry

window = Tk()
window.title("Палитра")
window.geometry("600x400")

frame = Frame(window, bd=5, relief="solid")
frame.place(x=10, y=10, width=580, height=200)

entry = Entry(window, bd=5, relief="solid", font=("Martian Mono", 20))
entry.place(x=10, y=320, width=580, height=50)

while True:
window.update()

try:
frame.configure(bg=entry.get())
except:
pass


Описание работы кода:

1. Импорт библиотек:
- `from tkinter import Tk, Frame, Entry`: Импортирует основные компоненты `tkinter` для работы с графическим интерфейсом.

2. Создание окна:
- `window = Tk()`: Инициализирует главное окно приложения.
- `window.title("Палитра")`: Устанавливает заголовок окна как "Палитра".
- `window.geometry("600x400")`: Задает размер окна 600x400 пикселей.

3. Создание рамки (Frame):
- `frame = Frame(window, bd=5, relief="solid")`: Создает рамку с границей (`bd=5`) и стильной рамкой (`relief="solid"`).
- `frame.place(x=10, y=10, width=580, height=200)`: Размещает рамку в окне с координатами (10, 10) и размерами 580x200 пикселей.

4. Создание текстового поля (Entry):
- `entry = Entry(window, bd=5, relief="solid", font=("Martian Mono", 20))`: Создает текстовое поле с границей и шрифтом ("Martian Mono", размер 20).
- `entry.place(x=10, y=320, width=580, height=50)`: Размещает поле ввода в окне по координатам (10, 320) с размерами 580x50 пикселей.

5. Цикл обновления и изменения цвета:
- `while True`: Запускает бесконечный цикл.
- `window.update()`: Обновляет интерфейс.
- `try`: Пытается установить цвет фона `frame` в соответствии со значением, введенным в `entry`.
- `except`: Игнорирует ошибки (например, если введен некорректный цвет).

Функционал:
Ввод значения цвета (например, `"red"`, `"#ff0000"`) в поле ввода изменяет цвет фона рамки (`frame`).

А вот что у меня получилось после конвертации этого кода в Минигуи программу:

 цитата:
 
#include "hmg.ch"
#include "winprint.ch"

////////////////////////////////////////////////////////////////////
FUNCTION Main()

LOCAL bg := cColorToRGB( "WHITE" )

DEFINE WINDOW Win_1 ;
CLIENTAREA 600, 400 ;
TITLE 'Palette' ;
MAIN ;
BACKCOLOR bg

DrawFrame( 10, 10, 200, 580 )

@ 10, 10 LABEL frame WIDTH 580 HEIGHT 200 ;
VALUE "" ;
BACKCOLOR bg

DrawFrame( 320, 10, 50, 580 )

DEFINE GETBOX NUL
PARENT ThisWindow.Name
ROW 330
COL 15
WIDTH 560
HEIGHT 30
BORDER .F.
FONTNAME "Martian Mono"
FONTSIZE 20
FONTBOLD .T.
VALUE SPACE( 36 )
ON CHANGE { || bg := This.Value, This.frame.BackColor := ;
HMG_n2RGB( cColorToRGB( iif( ColorValid( bg ), bg, "WHITE" ) ) ) }
END GETBOX

END WINDOW

CENTER WINDOW Win_1
ACTIVATE WINDOW Win_1

RETURN NIL


Вот так выглядит эта прога:


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 8 [только новые]


moderator


Пост N: 1622
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.10.24 16:51. Заголовок: Руками, или с помощь..


Руками, или с помощью какого-либо инструмента?

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 2383
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.10.24 17:24. Заголовок: alkresin пишет: с п..


alkresin пишет:

 цитата:
с помощью какого-либо инструмента?


Нет, только руками.
Программа очень простая...

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 98
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 31.10.24 07:19. Заголовок: Уважаемый gfilatov..


Уважаемый gfilatov2002 ,

а в чем смысл ..? Может реально стоит с почти никому ненужного Минигуя переходить на Python ...?
В чем суть моего вопроса - так вышло остался без работы, пол года найти что нибудь по профилю программирования похожего на Harbor ни к чему не привели.

Спасибо за понимание ....

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7988
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.11.24 13:26. Заголовок: Alex_Cher Работу на..


Alex_Cher
Работу нашел по профилю программирования ?

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 99
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 02.11.24 09:15. Заголовок: Dima нет, не нашел ..


Dima
нет, не нашел ... в общем понятно, возраст предпенсионный. Может что посоветуешь.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7989
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 02.11.24 09:55. Заголовок: Alex_Cher да я сам ..


Alex_Cher
да я сам в подвешенном состоянии , зп урезали почти 2 раза
и да , мне 60+

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4190
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 03.11.24 12:39. Заголовок: Dima пишет: да я са..


Dima пишет:

 цитата:
да я сам в подвешенном состоянии , зп урезали почти 2 раза
и да , мне 60+



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

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7990
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.11.24 13:53. Заголовок: Pasha пишет: А пенс..


Pasha пишет:

 цитата:
А пенсия есть ?


у меня пока стажа не хватает 2..3 года , так что подожду еще.

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 903
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет