Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
 
Почётная Гиппопрограмма
92 / 83 / 18
Регистрация: 09.07.2019
Сообщений: 917
Записей в блоге: 5
1
Tkinter

Не отображается картинка

17.01.2021, 11:24. Просмотров 987. Ответов 0
Метки нет (Все метки)

В чём проблема? Я как только не пробовал сделать фон для окна Tk, но ничего не работает. Почему? Вот мой код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
from PIL import Image, ImageTk
from tkinter import Tk, Canvas, Label, Button, Entry
 
def image(path, w=None, h=None):
    img = Image.open('images\\' + path)
    w = img.width if w == None else w
    h = img.height if h == None else h
    img = img.resize((w, h))
    pyimg = ImageTk.PhotoImage(img)
    return pyimg;
 
class Sprite():
    _canv_id = None
    def __init__(self, path, x, y, width=None, height=None):
        self._path = path
        self._x, self._y = x, y
        self._w, self._h = width, height
        self.reset()
    def configure(self, path, x, y, width, height):
        self._path = path
        self._x, self._y = x, y
        self._w, self._h = width, height
        self.reset()
    def set(self, path):
        self._path = path
        self.reset()
    def pos(self, x, y):
        self._x, self._y = x, y
    def size(self, width, height):
        self._w, self._h = width, height
        self.reset()
    def reset(self):
        self._img = image(self._path, self._w, self._h)
    def render(self):
        self._canv_id = canv.create_image(x, y, image=self._img)
    def move(self, x, y):
        self._x += x
        self._y += y
        canv.move(self.canv_id, x, y)
 
class Personage():
    def __init__(self, name, hp, sprite, x, y, width, height):
        self._name = name
        self._x, self._y = x, y
        self._w, self._h = width, height
        self._sprite = sprite
        self._hp = hp
        self._max_hp = hp
    def render(self):
        self._sprite.render()
    def bind(self, key, function):
        canv.bind(self._sprite._canv_id, key, function)
    def move(self, x, y):
        self._x += x
        self._y += y
        self._sprite.move(x, y)
    def _getting_hit(personage, hp):
        personage._hp -= hp
    def hit(self, hp):
        self.event('getting_hit', personage=self, hp=hp)
    def _healing(personage, hp):
        personage._hp += hp
        if personage._hp > personage._max_hp:
            personage._hp = personage._max_hp
    def healing(self, hp):
        self.event('healing', personage=self, hp=hp)
    def hp(self, hp):
        self._hp = hp
    def kill(self):
        self.event('death', personage=self)
    def event(self, event, function=None, **args):
        if function != None:
            self._events[event] = function
            return True
        else:
            if event in self._events:
                self._events[event](**args)
                return True
            return False
    _events = {'getting_hit' : _getting_hit, 'healing' : _healing}
 
def init_player():
    global player
    player = Personage('Игрок', 100, Sprite(), 0, 0, 50, 70)
 
def init():
    global root, canv
    root = Tk()
    root['bg'] = "white"
    root.title('Game')
    canv = Canvas()
    canv.pack()
    menu()
    root.mainloop()
def main():
    #init_player()
    init()
 
def menu():
    background('menu.png')
 
def background(path):
    img = image('locations\\' + path)
    canv.create_image(0, 0, image=img)
 
if __name__ == '__main__':
    main()
Подскажите пожалуйста, где надо исправить. Спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2021, 11:24
Ответы с готовыми решениями:

Открывается окно Tk, но картинка на нем не отображается
Здравствуйте, открывается окно Tk но картинка на нем не отображается. Откликнитесь, пожалуйста,...

background-image картинка отображается в VS но не отображается в браузерах
Доброго всем дня! Столкнулся со следующей проблемой. Хочу поместить в button картинку, для этого...

Картинка отображается в Хроме и не отображается в Опере
подскажите, добавил картинку со ссылкой. В Хроме все нормально, а в Опере и Сафари картинка не...

Не отображается картинка
var dd = document.getElementById("dd"); function getRandomInt(min, max) { max =...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2021, 11:24

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Не отображается картинка
Пытаюсь вставить картинку с меню(menu),но она не отображается,подскажите ,пожалуйста,в чем дело.......

Не отображается картинка
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Эффект перекатывания</title> ...

Не отображается картинка
Перестали отображаться картинки в HTML. Код такой: <td width="335" align="center"...

Не отображается картинка
В базе есть табличка, в которой есть поле photo (тип MEDIUMBLOB), хранится картинка. Пытаюсь...

Не отображается картинка
Ребята засада, край полный, вот код который поидее должен вывести две одинаковые картинки, но не...

Не отображается картинка из БД
Здравствуйте! Нужна Ваша помощь. Есть два файла: index.php <?php // Соединяемся с сервером БД...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.