20人python相册

20人python相册,python,tkinter,Python,Tkinter,我正在制作一本关于python的相册。选择了20个人 我有一个菜单,其中有一个列表,我们可以在其中选择一个人和两个按钮:相册和列表 我选择一个人并点击“相册”按钮 按下“相册”按钮后,我得到一个相册,其中除所选照片外的所有照片都排列成一个圆圈,中间是所选人员的所选照片 在列表按钮中,会出现带有签名的照片列表 我设法拍了这20张照片,但后来我被卡住了。如何按名称选择照片并将其放在圆圈的中心。以及如何将照片插入一个圆圈中,所选照片放在中间?照片列表在哪里,我不知道怎么在照片旁边写上名字 这是我塞

我正在制作一本关于python的相册。选择了20个人

我有一个菜单,其中有一个列表,我们可以在其中选择一个人和两个按钮:相册和列表

我选择一个人并点击“相册”按钮

按下“相册”按钮后,我得到一个相册,其中除所选照片外的所有照片都排列成一个圆圈,中间是所选人员的所选照片

在列表按钮中,会出现带有签名的照片列表

我设法拍了这20张照片,但后来我被卡住了。如何按名称选择照片并将其放在圆圈的中心。以及如何将照片插入一个圆圈中,所选照片放在中间?照片列表在哪里,我不知道怎么在照片旁边写上名字

这是我塞的东西

# Libraries
import sys
from tkinter import *
import tkinter as tk
from PIL import ImageTk, Image
import numpy as np
import PIL

# Create a window
root = Tk ()
root.title ("Photo Album")
root.geometry ("550x250")


my_img1 = ImageTk.PhotoImage (Image.open ("1.jpg"))
my_img2 = ImageTk.PhotoImage (Image.open ("2.jpg"))
my_img3 = ImageTk.PhotoImage (Image.open ("3.jpg"))
my_img4 = ImageTk.PhotoImage (Image.open ("4.jpg"))
my_img5 = ImageTk.PhotoImage (Image.open ("5.jpg"))
my_img6 = ImageTk.PhotoImage (Image.open ("6.jpg"))
my_img7 = ImageTk.PhotoImage (Image.open ("7.jpg"))
my_img8 = ImageTk.PhotoImage (Image.open ("8.jpg"))
my_img9 = ImageTk.PhotoImage (Image.open ("9.jpg"))
my_img10 = ImageTk.PhotoImage (Image.open ("10.jpg"))
my_img11 = ImageTk.PhotoImage (Image.open ("11.jpg"))
my_img12 = ImageTk.PhotoImage (Image.open ("12.jpg"))
my_img13 = ImageTk.PhotoImage (Image.open ("13.jpg"))
my_img14 = ImageTk.PhotoImage (Image.open ("14.jpg"))
my_img15 = ImageTk.PhotoImage (Image.open ("15.jpg"))
my_img16 = ImageTk.PhotoImage (Image.open ("16.jpg"))
my_img17 = ImageTk.PhotoImage (Image.open ("17.jpg"))
my_img18 = ImageTk.PhotoImage (Image.open ("18.jpg"))
my_img19 = ImageTk.PhotoImage (Image.open ("19.jpg"))
my_img20 = ImageTk.PhotoImage (Image.open ("20.jpg"))


image_list = ["1.jpg", "2.jpg", "3.jpg", "4.jpg",
          "5.jpg", "6.jpg", "7.jpg", "8.jpg",
          "9.jpg", "10.jpg", "11.jpg", "12.jpg",
          "13.jpg", "14.jpg", "15.jpg", "16.jpg"
          "17.jpg", "18.jpg", "19.jpg", "20.jpg"]

name_list = ["Tom Stark", "Spider man", "Tor",
         "Groot", "Black Widow", "Hulk",
         "Jon Snow", "Eddard Stark", "Tyrion Lannister",
         "Gandalf", "Rick", "Morty",
         "Mozart", "Bach", "Vivaldi",
         "Mahler", "Black Panther", "Arthas",
         "Illidan", "Thrall"]

imgs = [PIL.Image.open (i) for i in image_list]


# command for "List of people"
def wind1 ():
    window = tk.Toplevel ()
    window.images = []
    min_shape = sorted ([(np.sum (i.size), i.size) for i in imgs]) [0] [1]
    for i in imgs:
      i = i.resize (min_shape)
      window.images.append (ImageTk.PhotoImage (i))
      my_label = Label (window, image = window.images [-1])
      my_label.pack (pady = 10)

# command for "Background"
def wind2 ():
    window = tk.Toplevel ()
    label = tk.Label (window, text = "FON")
    label.pack ()


# "People List" button
spisok = Button (text = "Guest List", padx = "20", pady = "10", command = wind1)
spisok.place (x = 300, y = 20)

# "Background" button
fon = Button (text = "Background", padx = "20", pady = "10", command = wind2)
fon.place (x = 440, y = 20)

# window display
root.mainloop ()

我还没有在TKTETER上工作过,但是我建议你为普通任务做一个函数或类,比如通过提供图像路径有20个照片对象,通过一个函数,当你与TKiTter交互时,你可以添加一个分类图像的类,并把选中的一个放在中间。你必须计算出坐标,但有没有一种简单的方法可以将图像显示在一个圆圈内?你在一个圆圈内提出了多个问题,请尝试编辑你的问题,并将注意力集中在一个问题上。看到我还没有对TKTETER工作,但我建议你做一个函数或类的共同任务,如通过提供图像路径有20个照片对象通过一个功能,当你与TKITER互动,你可以添加创建一个类,分类图像,并把选定的一个在中间。你必须计算出坐标,但有没有一种简单的方法可以将图像显示在一个圆圈内?你在一个圆圈内提出了多个问题,请尝试编辑你的问题,并将注意力集中在一个问题上。看见