from tkinter import * root =Tk[] root.geometry["800x400"] frame_image = Frame[root, borderwidth=2, bg="white", relief=SUNKEN] frame_image.pack[side=TOP, fill="x"] frame_image.picture = PhotoImage[file="C:/Users/ABC/PycharmProjects/pythonProject/colleage.jpg"] frame_image.label = Label[frame_image, image=frame_image.picture] frame_image.label.pack[] mainloop[]
Trong hướng dẫn Python này, chúng ta sẽ tìm hiểu cách thêm hình ảnh trong Python Tkinter. chúng ta hãy bắt đầu Hình ảnh Python Tkinter với các ví dụ bên dưới
- Hình ảnh Python Tkinter
- Hiển thị hình ảnh Python Tkinter
- Nút hình ảnh Python Tkinter
- Nền hình ảnh Python Tkinter
- Thay đổi kích thước hình ảnh Python Tkinter
- Kích thước hình ảnh Python Tkinter
- Nhãn hình ảnh Python Tkinter
- Hình ảnh Python Tkinter không tồn tại
Mục lục
- Hình ảnh Python Tkinter
- Hiển thị hình ảnh Python Tkinter
- Nút hình ảnh Python Tkinter
- Nền hình ảnh Python Tkinter
- Thay đổi kích thước hình ảnh Python Tkinter
- Kích thước hình ảnh Python Tkinter
- Nhãn hình ảnh Python Tkinter
- Hình ảnh Python Tkinter không tồn tại
Hình ảnh Python Tkinter
Python Tkinter có phương thức PhotoImage cho phép đọc ảnh trong Python Tkinter. Và sau đó, Hình ảnh có thể được đặt bằng cách cung cấp thêm biến PhotoImage trong thuộc tính hình ảnh của các tiện ích như Nhãn, Nút, Khung, v.v.
- Có ba cách thêm hình ảnh trên Python Tkinter
- ẢnhHình ảnh
- mô-đun gối
- PhotoImage là thư viện tích hợp đi kèm với Python Tkinter và cung cấp các tùy chọn hạn chế. Nhưng rất tốt để bắt đầu hoặc cho các tác vụ nhỏ trong đó ứng dụng chỉ nhằm mục đích đưa hình ảnh lên màn hình. Ngoài ra, nó hỗ trợ các tiện ích mở rộng hình ảnh hạn chế
- Mô-đun gối trong Python Tkinter cung cấp nhiều tính năng hơn như bạn có thể đọc hình ảnh của bất kỳ tiện ích mở rộng nào, thay đổi kích thước hình ảnh, v.v. Mô-đun Gối cần được cài đặt trước khi sử dụng
- Gối có thể được cài đặt bằng pip hoặc pip3 trong Python Tkinter
pip install pillow
or
pip3 install pillow
- Trong ví dụ dưới đây của chúng tôi, chúng tôi đã chứng minh việc sử dụng PhotoImage. Gối được thảo luận trong các phần sau của cùng một hướng dẫn. Chúng tôi sẽ chứng minh phương pháp tốt nhất được sử dụng trong tình huống
Mã số
Đây là mã cơ bản để trình bày cách thêm hình ảnh trong Python Tkinter. Vì đoạn mã dưới đây chỉ để hiển thị một hình ảnh nên chúng tôi đã sử dụng phương thức PhotoImage trong Python Tkinter
from tkinter import *
ws = Tk[]
ws.title['PythonGuides']
img = PhotoImage[file='images/sasuke.png']
Label[
ws,
image=img
].pack[]
ws.mainloop[]
đầu ra
Trong kết quả này, hình ảnh được hiển thị bằng tiện ích nhãn và vì chúng tôi không cung cấp bất kỳ hình học nào nên kích thước ứng dụng bằng với kích thước của hình ảnh
Đọc. Cách tạo một máy tính trong Python
Hiển thị hình ảnh Python Tkinter
Hình ảnh trong Python Tkinter có thể được hiển thị bằng cách sử dụng mô-đun PhotoImage hoặc bằng cách sử dụng thư viện Gối
- Trong phần này, chúng tôi sẽ hiển thị hình ảnh bằng cả thư viện PhotoImage và Gối. Ngoài ra, chúng tôi sẽ sử dụng phương thức create_image từ canvas
- Canvas được sử dụng để thêm hình ảnh hoặc văn bản trên màn hình ứng dụng
Mã sử dụng phương pháp PhotoImage
Trong mã này, bạn có thể quan sát thấy rằng chúng tôi chưa nhập bất kỳ thư viện nào vì PhotoImage được tải tự động khi mọi thứ được nhập
from tkinter import *
ws = Tk[]
ws.title['PythonGuides']
ws.geometry['500x500']
canvas = Canvas[
ws,
width = 500,
height = 500
]
canvas.pack[]
img = PhotoImage[file='images/sasuke.png']
canvas.create_image[
10,
10,
anchor=NW,
image=img
]
ws.mainloop[]
Đầu ra của phương thức PhotoImage
Hình ảnh được hiển thị trên canvas và hiển thị không đầy đủ vì chúng tôi đã cung cấp chiều cao và chiều rộng của canvas nhỏ hơn kích thước của hình ảnh
Mã sử dụng Thư viện gối
Trong mã này, chúng tôi đã nhập ImageTk, phương thức Hình ảnh từ thư viện PIL. PIL là tên viết tắt của một cái gối. Mặc dù mã trông rất giống với mã trước đó nhưng bây giờ chúng ta có thể đọc thêm các phần mở rộng hình ảnh như jpg, png, bitmap, v.v.
from tkinter import *
from PIL import ImageTk,Image
ws = Tk[]
ws.title['PythonGuides']
ws.geometry['500x500']
canvas = Canvas[
ws,
width = 500,
height = 500
]
canvas.pack[]
img = ImageTk.PhotoImage[Image.open['images/sasuke.png']]
canvas.create_image[
10,
10,
anchor=NW,
image=img
]
ws.mainloop[]
Đầu ra của hình ảnh được hiển thị bằng Thư viện gối
Đầu ra tương tự như phần PhotoImage và ảnh không đầy đủ vì kích thước của cửa sổ được cung cấp nhỏ hơn kích thước gốc của ảnh
Đọc. Thanh menu Python Tkinter – Cách sử dụng
Nút hình ảnh Python Tkinter
Tiện ích nút trong Python Tkinter có thuộc tính hình ảnh, bằng cách cung cấp biến hình ảnh, chúng ta có thể đặt hình ảnh trên tiện ích nút
- Bước đầu tiên trong quy trình là đọc hình ảnh và để làm như vậy, chúng tôi sẽ sử dụng phương thức PhotoImage trong Python Tkinter
- Button trong Tkinter có thuộc tính image, bạn có thể cung cấp biến gán cho PhotoImage tại đây
- Bằng cách này, một hình ảnh có thể được đặt trên tiện ích nút trong Python Tkinter
Trong phần này, chúng ta sẽ tìm hiểu cách đưa hình ảnh vào nút trong Python Tkinter
Mã số
Trong mã này, chúng tôi đã thêm một hình ảnh trên nút. Người dùng có thể nhấp vào hình ảnh để thực hiện hành động
from tkinter import *
ws = Tk[]
ws.title['PythonGuides']
img = PhotoImage[file='images/downloadbtn.png']
Button[
ws,
image=img,
command=None
].pack[]
ws.mainloop[]
đầu ra
Trong đầu ra này, Tải xuống hình ảnh được thêm vào nút. Người dùng có thể nhấp vào hình ảnh này để tải xuống tệp
Đọc. Nút kiểm Python Tkinter – Cách sử dụng
Nền hình ảnh Python Tkinter
Trong phần này, chúng ta sẽ tìm hiểu cách chèn ảnh nền trong Python Tkinter. Nói cách khác, cách đặt hình nền trong Python Tkinter
- Có hai cách chủ yếu để đặt nền trong Python Tkinter
- Sử dụng Trình quản lý bố cục địa điểm, chúng tôi có thể đặt hình nền trên nhãn và kéo dài nó ra hết màn hình
- Sử dụng phương thức create_image của canvas, chúng ta có thể đặt hình ảnh lên màn hình và sau đó sử dụng phương thức create_text của canvas, chúng ta có thể đặt tiện ích văn bản
- Trong số hai phương pháp này, phương pháp thứ hai cho biết sử dụng canvas hiệu quả và chính xác hơn và chúng tôi khuyên bạn nên sử dụng canvas
- Trong ví dụ dưới đây, chúng tôi đã tạo một ứng dụng bằng canvas. Ứng dụng này có hình nền, văn bản và một nút. Khi người dùng nhấp vào nút, họ sẽ được chuyển hướng đến trang web của chúng tôi
Mã số
Trong mã này, chúng tôi đã nhập trình duyệt web để chúng tôi có thể mở trang web. Chúng tôi đã đặt hình ảnh trong nền bằng cách sử dụng phương thức canvas create_image và sau đó sử dụng create _text và create_window chúng tôi đã đặt nút và văn bản trên cửa sổ
from tkinter import *
import webbrowser
ws = Tk[]
ws.title['PythonGuides']
ws.geometry['500x400']
new = 1
url = "//www.pythonguides.com"
def openbrowser[]:
webbrowser.open[url,new=new]
bg = PhotoImage[file = 'images/bg.png']
canvas = Canvas[
ws,
width = 500,
height = 400
]
canvas.pack[fill='both', expand = True]
canvas.create_image[
0,
0,
image=bg,
anchor = "nw"
]
canvas.create_text[
250,
150,
text = 'PythonGuides',
font=['Arial', 50],
]
btn = Button[
ws,
text = 'EXPLORE MORE',
command=openbrowser,
width=20,
height=2,
relief=SOLID,
font=['arial', 18]
]
btn_canvas = canvas.create_window[
100,
200,
anchor = "nw",
window = btn,
]
ws.mainloop[]
đầu ra
Trong kết quả này, bạn có thể thấy ứng dụng đó có hình nền, văn bản và nút. Khi người dùng nhấp vào nút, họ sẽ được chuyển hướng đến một trang web
Đọc. Nút phóng xạ Python Tkinter – Cách sử dụng
Thay đổi kích thước hình ảnh Python Tkinter
Trong phần này, chúng ta sẽ tìm hiểu cách thay đổi kích thước hình ảnh trong Python Tkinter
- Sử dụng thư viện Gối trong Python Tkinter, chúng ta có thể thay đổi kích thước hình ảnh. để nhập Gối sử dụng mã này
4pip install pillow or pip3 install pillow
0 lệnh này cho phép chúng ta thay đổi chiều cao [h] và chiều rộng [w] của hình ảnhfrom tkinter import * ws = Tk[] ws.title['PythonGuides'] img = PhotoImage[file='images/sasuke.png'] Label[ ws, image=img ].pack[] ws.mainloop[]
- Trong ví dụ dưới đây, chúng tôi đã tạo một ứng dụng trong đó người dùng có thể cung cấp chiều rộng và chiều cao và hình ảnh sẽ thay đổi kích thước theo thời gian thực
Mã số
Trong mã này, chúng tôi đã sử dụng phương thức Image từ mô-đun Gối để thay đổi kích thước của hình ảnh
________số 8đầu ra
Trong kết quả này, bạn có thể thấy hình ảnh đó đang thay đổi kích thước theo chiều cao và chiều rộng do người dùng cung cấp. Đây là một ứng dụng chính thức được tạo bằng Python Tkinter có thể được sử dụng cho các hoạt động hàng ngày
Đọc. Nút Python Tkinter – Cách sử dụng
Kích thước hình ảnh Python Tkinter
Trong phần này, chúng ta sẽ tìm hiểu cách lấy kích thước ảnh trong Python Tkinter
- điều đầu tiên trong quy trình là nhập Image, ImageTk từ PIL
- sau đó ImageTk cung cấp phương thức chiều rộng và chiều cao mà chúng ta có thể lấy kích thước của hình ảnh
Mã số
Trong mã này,
from tkinter import *
ws = Tk[]
ws.title['PythonGuides']
img = PhotoImage[file='images/sasuke.png']
Label[
ws,
image=img
].pack[]
ws.mainloop[]
1 lệnh này hiển thị chiều cao và chiều rộng của hình ảnh. Ở đây, img là biến lưu file filepip install pillow
or
pip3 install pillow
0đầu ra
Trong kết quả này, bạn có thể thấy chiều cao và chiều rộng của hình ảnh được hiển thị ở cuối trang
Đọc. Tạo trò chơi rắn trong Python Tkinter
Nhãn hình ảnh Python Tkinter
Trong phần này, chúng ta sẽ tìm hiểu cách đặt hình ảnh trên tiện ích Nhãn trong Python Tkinter
- Tiện ích nhãn trong Python Tkinter được sử dụng để hiển thị văn bản và hình ảnh trên cửa sổ ứng dụng
- Tiện ích nhãn có hình ảnh thuộc tính. Thêm tệp hình ảnh vào thuộc tính này sẽ đặt hình ảnh trên tiện ích nhãn
- Nếu bạn đang xử lý hình ảnh PNG thì bạn chỉ cần sử dụng phương thức PhotoImage là phương thức tích hợp sẵn trong Python Tkinter
- Đối với các tính năng nâng cao và tất cả tiện ích mở rộng, hãy sử dụng thư viện Image, ImageTk trong gối
Mã số
Đây là mã đơn giản để hiển thị hình ảnh bằng tiện ích Nhãn trong Python Tkinter
from tkinter import *
ws = Tk[]
ws.title['PythonGuides']
img = PhotoImage[file='images/sasuke.png']
Label[
ws,
image=img
].pack[]
ws.mainloop[]
đầu ra
Đọc. Cách lấy đầu vào của người dùng và lưu trữ trong biến bằng Python Tkinter
Hình ảnh Python Tkinter không tồn tại
Đây là một lỗi phổ biến mà hầu hết các lập trình viên làm việc với hình ảnh trong Python Tkinter đều gặp phải, lỗi này cho biết, Hình ảnh Python Tkinter không tồn tại
- Có ba lý do chủ yếu cho lỗi này
- đường dẫn hình ảnh được cung cấp không chính xác
- Bạn đã đọc hình ảnh bằng cách sử dụng
2 nhưng bạn chưa chuyển nó chofrom tkinter import * ws = Tk[] ws.title['PythonGuides'] img = PhotoImage[file='images/sasuke.png'] Label[ ws, image=img ].pack[] ws.mainloop[]
3from tkinter import * ws = Tk[] ws.title['PythonGuides'] img = PhotoImage[file='images/sasuke.png'] Label[ ws, image=img ].pack[] ws.mainloop[]
- khai báo một biến toàn cục trong trường hợp bạn đang thử hình ảnh trong hàm
- _tkinter. TclLỗi. không thể nhận dạng dữ liệu trong tệp hình ảnh “images/workstation. jpg”
- Nếu bạn thấy mã lỗi trên, điều đó có nghĩa là bạn đang cố sử dụng tệp hình ảnh JPG bằng PhotoImage
- Để khắc phục điều đó, hãy sử dụng tệp hình ảnh PNG hoặc chuyển sang Gối. Vì mô-đun Gối cho phép sử dụng các phần mở rộng hình ảnh khác nhau
Bạn có thể thích các hướng dẫn Python tkinter sau đây
- Khung Tkinter Python
- Python Tkinter TreeView – Cách sử dụng
- Danh sách công việc Tkinter của Python
- Kích thước cửa sổ Python Tkinter
- Hướng dẫn về Python Tkinter Canvas
- Hướng dẫn sử dụng bảng Python Tkinter
- Tạo tài liệu Word trong Python Tkinter
Trong hướng dẫn này, chúng ta đã học cách thêm hình ảnh trong Python Tkinter. Ngoài ra, chúng tôi đã đề cập đến các chủ đề này
- Hình ảnh Python Tkinter
- Hiển thị hình ảnh Python Tkinter
- Nút hình ảnh Python Tkinter
- Nền hình ảnh Python Tkinter
- Thay đổi kích thước hình ảnh Python Tkinter
- Kích thước hình ảnh Python Tkinter
- Nhãn hình ảnh Python Tkinter
- Hình ảnh Python Tkinter không tồn tại
Bijay Kumar
Python là một trong những ngôn ngữ phổ biến nhất ở Hoa Kỳ. Tôi đã làm việc với Python trong một thời gian dài và tôi có kinh nghiệm làm việc với nhiều thư viện khác nhau trên Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, v.v… Tôi có kinh nghiệm làm việc với nhiều khách hàng khác nhau . Kiểm tra hồ sơ của tôi