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

如何将Kivy桌面应用窗口定位到右下角?

Kivy应用启动时定位到右下角的实现方案

Kivy的left和top参数是基于屏幕左上角(0,0)的坐标体系,要让窗口定位到右下角,核心是通过屏幕尺寸和窗口尺寸的差值计算出正确的left和top值,具体实现如下:

实现步骤

  1. 先固定窗口的宽高(因为你设置了resizable=0,必须明确窗口大小才能计算位置)
  2. 获取当前系统屏幕的分辨率
  3. 计算右下角对应的left和top:
    • left = 屏幕宽度 - 窗口宽度(让窗口右边缘对齐屏幕右边缘)
    • top = 屏幕高度 - 窗口高度(让窗口下边缘对齐屏幕下边缘,Kivy的top是从屏幕顶部往下的距离)

完整代码示例

from kivy.config import Config
from kivy.core.window import Window

# 替换为你的窗口实际宽高
WINDOW_WIDTH = 300
WINDOW_HEIGHT = 400

# 配置窗口基础属性
Config.set('graphics', 'width', str(WINDOW_WIDTH))
Config.set('graphics', 'height', str(WINDOW_HEIGHT))
Config.set('graphics', 'position', 'custom')
Config.set('graphics', 'resizable', 0)

# 获取屏幕尺寸
screen_width, screen_height = Window.system_size

# 计算右下角定位参数
Config.set('graphics', 'left', str(screen_width - WINDOW_WIDTH))
Config.set('graphics', 'top', str(screen_height - WINDOW_HEIGHT))

Config.write()

# 示例应用(替换为你的实际应用代码)
from kivy.app import App
from kivy.uix.label import Label

class MyApp(App):
    def build(self):
        return Label(text='定位在右下角的Kivy应用')

if __name__ == '__main__':
    MyApp().run()

注意事项

  • 如果是多屏环境,Window.system_size默认获取主屏幕的尺寸,若要定位到其他屏幕,需要额外处理屏幕信息
  • 确保窗口宽高的设置在计算left和top之前完成,否则计算结果会出错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 16:50:05