Как нарисовать по щелчку мыши в Gtk.DrawingArea с помощью Pygi

Вы можете установить обои 13.10, запустив эту команду в терминале:

sudo apt-get install ubuntu-wallpapers-saucy

или с помощью Software Center

Для других более старых версий Ubuntu замените saucy с

raring для 13.04 quantal для 12.10 precise для 12.04 oneiric для 11.10 natty для 11.04, maverick для 10.10, lucid для 10.04, karmic для 9.10,

Также доступны обои для Ubuntu версии 6.10, 7.04 и 7.10. Для установки обоев для обоев используйте эту команду:

sudo apt-get install edgy-wallpapers

для feisty (1.04) и gutsy (7.10) замените edgy-wallpapers на feisty-wallpapers и gutsy-wallpapers соответственно.

Для удобство для пользователей, которые хотят скачать ВСЕ обои:

sudo apt-get install ubuntu-wallpapers-* edgy-wallpapers feisty-wallpapers gutsy-wallpapers
raring для 13.04
4
задан 29 June 2012 в 00:47

8 ответов

Что вы должны сделать, это установить переменные, которые рисуются в обратном вызове draw. Если вы хотите, чтобы оно само перерисовывалось, вы можете использовать это, чтобы заставить его:

drawing_area.queue_draw()

Редактировать: Вот пример кода, который вы можете использовать:

clicks = [];

def on_drawing_area_button_press(self, widget, event):
    print "Mouse clicked... at ", event.x, ", ", event.y
    clicks.append([event.x, event.y])
    drawing_area.queue_draw()

    return True

def on_drawing_area_draw(self, drawing_area, cairo_context):
    cairo_context.move_to(50, 50)
    for point in clicks
        cairo_context.line_to(point[0], point[1])

    cairo_context.stroke()

    return False
3
ответ дан 25 July 2018 в 18:16

Что вы должны сделать, это установить переменные, которые рисуются в обратном вызове draw. Если вы хотите, чтобы оно само перерисовывалось, вы можете использовать это, чтобы заставить его:

drawing_area.queue_draw()

Редактировать: Вот пример кода, который вы можете использовать:

clicks = [];

def on_drawing_area_button_press(self, widget, event):
    print "Mouse clicked... at ", event.x, ", ", event.y
    clicks.append([event.x, event.y])
    drawing_area.queue_draw()

    return True

def on_drawing_area_draw(self, drawing_area, cairo_context):
    cairo_context.move_to(50, 50)
    for point in clicks
        cairo_context.line_to(point[0], point[1])

    cairo_context.stroke()

    return False
3
ответ дан 31 July 2018 в 12:59

Что вы должны сделать, это установить переменные, которые рисуются в обратном вызове draw. Если вы хотите, чтобы оно само перерисовывалось, вы можете использовать это, чтобы заставить его:

drawing_area.queue_draw()

Редактировать: Вот пример кода, который вы можете использовать:

clicks = [];

def on_drawing_area_button_press(self, widget, event):
    print "Mouse clicked... at ", event.x, ", ", event.y
    clicks.append([event.x, event.y])
    drawing_area.queue_draw()

    return True

def on_drawing_area_draw(self, drawing_area, cairo_context):
    cairo_context.move_to(50, 50)
    for point in clicks
        cairo_context.line_to(point[0], point[1])

    cairo_context.stroke()

    return False
3
ответ дан 2 August 2018 в 00:29

Что вы должны сделать, это установить переменные, которые рисуются в обратном вызове draw. Если вы хотите, чтобы оно само перерисовывалось, вы можете использовать это, чтобы заставить его:

drawing_area.queue_draw()

Редактировать: Вот пример кода, который вы можете использовать:

clicks = [];

def on_drawing_area_button_press(self, widget, event):
    print "Mouse clicked... at ", event.x, ", ", event.y
    clicks.append([event.x, event.y])
    drawing_area.queue_draw()

    return True

def on_drawing_area_draw(self, drawing_area, cairo_context):
    cairo_context.move_to(50, 50)
    for point in clicks
        cairo_context.line_to(point[0], point[1])

    cairo_context.stroke()

    return False
3
ответ дан 4 August 2018 в 15:58

Что вы должны сделать, это установить переменные, которые рисуются в обратном вызове draw. Если вы хотите, чтобы оно само перерисовывалось, вы можете использовать это, чтобы заставить его:

drawing_area.queue_draw()

Редактировать: Вот пример кода, который вы можете использовать:

clicks = [];

def on_drawing_area_button_press(self, widget, event):
    print "Mouse clicked... at ", event.x, ", ", event.y
    clicks.append([event.x, event.y])
    drawing_area.queue_draw()

    return True

def on_drawing_area_draw(self, drawing_area, cairo_context):
    cairo_context.move_to(50, 50)
    for point in clicks
        cairo_context.line_to(point[0], point[1])

    cairo_context.stroke()

    return False
3
ответ дан 6 August 2018 в 00:36

Что вы должны сделать, это установить переменные, которые рисуются в обратном вызове draw. Если вы хотите, чтобы оно само перерисовывалось, вы можете использовать это, чтобы заставить его:

drawing_area.queue_draw()

Редактировать: Вот пример кода, который вы можете использовать:

clicks = [];

def on_drawing_area_button_press(self, widget, event):
    print "Mouse clicked... at ", event.x, ", ", event.y
    clicks.append([event.x, event.y])
    drawing_area.queue_draw()

    return True

def on_drawing_area_draw(self, drawing_area, cairo_context):
    cairo_context.move_to(50, 50)
    for point in clicks
        cairo_context.line_to(point[0], point[1])

    cairo_context.stroke()

    return False
3
ответ дан 7 August 2018 в 18:02

Что вы должны сделать, это установить переменные, которые рисуются в обратном вызове draw. Если вы хотите, чтобы оно само перерисовывалось, вы можете использовать это, чтобы заставить его:

drawing_area.queue_draw()

Редактировать: Вот пример кода, который вы можете использовать:

clicks = [];

def on_drawing_area_button_press(self, widget, event):
    print "Mouse clicked... at ", event.x, ", ", event.y
    clicks.append([event.x, event.y])
    drawing_area.queue_draw()

    return True

def on_drawing_area_draw(self, drawing_area, cairo_context):
    cairo_context.move_to(50, 50)
    for point in clicks
        cairo_context.line_to(point[0], point[1])

    cairo_context.stroke()

    return False
3
ответ дан 10 August 2018 в 06:50

Что вы должны сделать, это установить переменные, которые рисуются в обратном вызове draw. Если вы хотите, чтобы оно само перерисовывалось, вы можете использовать это, чтобы заставить его:

drawing_area.queue_draw()

Редактировать: Вот пример кода, который вы можете использовать:

clicks = [];

def on_drawing_area_button_press(self, widget, event):
    print "Mouse clicked... at ", event.x, ", ", event.y
    clicks.append([event.x, event.y])
    drawing_area.queue_draw()

    return True

def on_drawing_area_draw(self, drawing_area, cairo_context):
    cairo_context.move_to(50, 50)
    for point in clicks
        cairo_context.line_to(point[0], point[1])

    cairo_context.stroke()

    return False
3
ответ дан 15 August 2018 в 18:46

Другие вопросы по тегам:

Похожие вопросы: