LINUX.ORG.RU

Написание GUI на Python'е для новичка

 ,


1

3

Надо написать очень простой GUI (примитивную рисовалку), а я с питоном работал только на уровне скриптов. Глянул на https://wiki.python.org/moin/GuiProgramming, а там этих библиотек... Сложный выбор, в общем.

Суть программы: юзер рисует ломанную линию, а программа записывает координаты вершин в файл. Под Линуксом, естественно.

P.S. Забыл отметить: сам я не программер, а прога нужна в качестве прототипа

Всем спасибо! Остановился пока на tkinter и книге Лутца.

★★★★☆

Последнее исправление: Sahas (всего исправлений: 2)
Ответ на: комментарий от takino

с Qt вообще не знаком (да, я не программер)

Sahas ★★★★☆
() автор топика
Последнее исправление: Sahas (всего исправлений: 1)
Ответ на: комментарий от slowest_runner

В «Программирование на Python» Лутца были главы про GUI (tkinter).

Спасибо, гляну

Sahas ★★★★☆
() автор топика

юзер рисует ломанную линию, а программа записывает координаты вершин в файл

inkscape -> нарисовать -> save as -> svg ?

waker ★★★★★
()

По-моему, основных подхода два: pyqt и pygtk (giobject introspection). Посмотри оба.

true_admin ★★★★★
()
Ответ на: комментарий от waker

inkscape -> нарисовать -> save as -> svg ?

Спасибо, КО, вы всегда готовы прийти на помощь!.. =)

Sahas ★★★★☆
() автор топика
Ответ на: комментарий от Sahas

Я не осилил, пока не попытался покодить на C++/Qt.

Попробуй, может поймешь основные принципы.

a1batross ★★★★★
()
Ответ на: комментарий от Sahas

Вопрос еще один, насколько хорошо питон знаешь? ООП впрочем-то, главное. Если и в правду на уровне скриптов, то совсем-совсем плохо. :(

a1batross ★★★★★
()

pyGtk простое и удобное, по крайней мере после оригинального на Си...

CrossFire ★★★★★
()
Ответ на: комментарий от a1batross

Вопрос еще один, насколько хорошо питон знаешь? ООП впрочем-то, главное. Если и в правду на уровне скриптов, то совсем-совсем плохо. :(

Да, только скрипты. Но с ООП знаком, да и вообще, с программированием не совсем «на Вы»

Sahas ★★★★☆
() автор топика
Ответ на: комментарий от Sahas

Ну, с наскоку не получится, придётся примеры почитать. И лично я некоторые моменты PyQt вкуривал по книгам для C++ Qt, суть-то одна и та же. А для PyQt4 вроде была книга на русском написана какая-то.

evilmanul
()
Ответ на: комментарий от a1batross

Тогда пробуй, авось чего выйдет. :)

Просто тут вопрос со временем: надо это сделать быстро (можно криво). Не получилось бы так, что изучение PyQt займет на порядок больше времени, чем собственно написание программы =)

Sahas ★★★★☆
() автор топика
Ответ на: комментарий от tailgunner

На простом Gtk я как-то пробовал писать программку... Не сказать, чтобы особенно понравилось, но в принципе ничего сложного. PyGTK примерно так же устроен, как и простой GTK?

Sahas ★★★★☆
() автор топика

в твоем случае для здесь и сейчас книжка лутца и tkinter. кутэшников шли в пешее эротическое путешествие. но если в будущем думаешь кодить что-то серьезное, то к кутэшникам стоит прислушаться. они на будущее хороший совет дают.

der_looser ★★
()
Ответ на: комментарий от Sahas

PyGTK примерно так же устроен, как и простой GTK?

Да. Некоторые веши я делал по учебнику для Си-варианта.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от der_looser

Ок, так и попробую сделать =)

Sahas ★★★★☆
() автор топика
Ответ на: комментарий от habamax

Удваиваю.

PyQt это если что то совсем серьезное/красивое...

AIv ★★★★★
()

Прототип на тикле:

package require Tk

pack [canvas .c -width 400 -height 300 -bg white]

pack [button .s -text save -command {
    catch {
        puts [set f [open [tk_getSaveFile] w]] $line
        close $f
    }
}] -side right

pack [button .l -text load -command {
    catch {
        set line [gets [set f [open [tk_getOpenFile] r]]]
        close $f
        .c delete line
        .c create line $line -tag line
    }
}] -side right

bind .c <Button1-ButtonRelease> {
    lappend line %x %y
    if { [llength $line] == 4 } { .c create line $line -tag line }
    if { [llength $line] > 4 } { .c coords line $line }
}
cluge
()
Ответ на: комментарий от cluge

Вот спасибо, добрый человек!

Это близко к тому, что мне надо =)

Sahas ★★★★☆
() автор топика

Tkinter - просто и со вкусом )

xterro ★★★★★
()

юзер рисует ломанную линию, а программа записывает координаты вершин в файл.

matplotlib + PyQt/wxPython.

guest_star
()

в твоем случае конечно же tkinter

avertex ★★
()

PyQt хороший вариант, но всетаки хорошо иметь хоть какие-то представления о самом по себе qt. Тоесть думаю будет сложно, если до этого с qt не сталкивался. PyGtk не знаю не знаю. По самому gtk я не смог найти годных доков/туториолов, вообще мне показалось что там бардак...

matrixd
()

Вместо PyQt лучше использовать PySide

alex-w ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.