You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Tkinter创建与macOS视频窗口同比例的窗口?

解决Tkinter创建1080x1920竖屏窗口的问题

你当前的代码问题在于Canvas使用了fill="both", expand=True,会让画布随窗口自适应拉伸,加上主窗口未锁定尺寸,导致原本的1080x1920竖屏布局被横向拉伸。以下是修正方案:

核心修改点

  • 锁定主窗口尺寸为1080x1920,禁止调整大小
  • 移除Canvas的自适应拉伸参数,保持固定尺寸

修正后的完整代码

import tkinter as tk

class App(tk.Tk):
    def __init__(self):
        super().__init__()
        self.title("竖屏视频预览")
        # 设置窗口固定尺寸为1080宽、1920高
        self.geometry("1080x1920")
        # 禁止用户拖动调整窗口大小
        self.resizable(width=False, height=False)
        
        self.background = tk.PhotoImage(file="./assets/test.png")
        # 创建与窗口尺寸一致的Canvas
        self.canvas = tk.Canvas(self, width=1080, height=1920, bg="white")
        # 直接pack,不启用自适应拉伸
        self.canvas.pack()
        # 左上角锚定放置背景图
        self.canvas.create_image(0, 0, image=self.background, anchor="nw")

if __name__ == "__main__":
    app = App()
    app.mainloop()

关键说明

  1. self.geometry("1080x1920"):直接定义窗口的初始宽高,确保竖屏比例(9:16)
  2. self.resizable(...):锁定窗口尺寸,避免误操作导致窗口变形
  3. 移除fill="both", expand=True:让Canvas保持固定的1080x1920尺寸,与窗口完全匹配

内容的提问来源于stack exchange,提问作者plus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 06:15:33