gpt4 book ai didi

python - pygtk 窗口大小调整中的意外行为

转载 作者:太空宇宙 更新时间:2023-11-03 18:29:55 24 4
gpt4 key购买 nike

我正在编写一些代码来获取物理屏幕的大小并使用这些尺寸来调整我的窗口大小:

#!/usr/bin/env python

import gtk

class GettingStarted:
def __init__(self):
window = gtk.Window()
width = gtk.gdk.Screen.get_width()#line1
height = gtk.gdk.Screen.get_height()#line2
window.resize(width,height)#line3
label = gtk.Label("Hello")
window.add(label)

window.connect("destroy", lambda q : gtk.main_quit())
window.show_all()

GettingStarted()
gtk.main()

将代码中的 line1、line2、line3 注释掉后,屏幕上会显示一个带有 “Hello” 的常规窗口。但是,在代码中包含上述行后,由于某种原因会显示日历!还会引发错误:

Traceback (most recent call last):
File "gettingstarted.py", line 17, in <module>
GettingStarted()
File "gettingstarted.py", line 8, in __init__
width = gtk.gdk.Screen.get_width()
TypeError: descriptor 'get_width' of 'gtk.gdk.Screen' object needs an argument

文档中没有提及 get_width()get_height() 的任何参数。发生了什么?

最佳答案

您在两个位置(line1 和 line2)中使用类而不是实例,请尝试在这两个位置中使用 gtk.gdk.screen_get_default() 而不是 gtk.gdk.Screen。

#!/usr/bin/env python

import gtk

class GettingStarted:
def __init__(self):
window = gtk.Window()
width = gtk.gdk.screen_get_default().get_width()#line1
height = gtk.gdk.screen_get_default().get_height()#line2
window.resize(width,height)#line3
label = gtk.Label("Hello")
window.add(label)

window.connect("destroy", lambda q : gtk.main_quit())
window.show_all()

GettingStarted()
gtk.main()

关于python - pygtk 窗口大小调整中的意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22538281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com