首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用appJar获得屏幕的宽度和高度?

如何使用appJar获得屏幕的宽度和高度?
EN

Stack Overflow用户
提问于 2017-09-25 12:58:41
回答 2查看 1K关注 0票数 1

有没有办法使用appJar本身来获得屏幕的高度和宽度。

由于appJartkinter的包装器,所以有一种方法可以创建一个Tk()实例来使用我在研究期间见过的以下代码:

代码语言:javascript
复制
import tkinter

root = tkinter.Tk()
width = root.winfo_screenwidth()
height = root.winfo_screenheight()

我希望这样做,这样我就可以使用这些大小来稍后使用.setGeometry()方法设置窗口大小。

代码语言:javascript
复制
# Fullscreen
app.setGeometry(width, height)

或者:

代码语言:javascript
复制
# Horizontal halfscreen
app.setGeometry(int(width / 2), height)

或者:

代码语言:javascript
复制
# Vertical halfscren
app.setGeometry(width, int(height / 2))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-25 14:39:56

因为appJar只是tkinter上的一个包装器,所以您需要引用Tk()root/master实例,该实例在gui中存储为self.topLevel。或者,您可以引用一个更漂亮的self.appWindow,它是self.topLevel的“子”画布。

为了使所有事情都清楚,只需添加一些“快捷键”到想要的方法的继承类!

代码语言:javascript
复制
import appJar as aJ

class App(aJ.gui):
    def __init__(self, *args, **kwargs):
        aJ.gui.__init__(self, *args, **kwargs)

    def winfo_screenheight(self):
        #   shortcut to height
        #   alternatively return self.topLevel.winfo_screenheight() since topLevel is Tk (root) instance!
        return self.appWindow.winfo_screenheight()

    def winfo_screenwidth(self):
        #   shortcut to width
        #   alternatively return self.topLevel.winfo_screenwidth() since topLevel is Tk (root) instance!
        return self.appWindow.winfo_screenwidth()


app = App('winfo')
height, width = app.winfo_screenheight(), app.winfo_screenwidth()
app.setGeometry(int(width / 2), int(height / 2))
app.addLabel('winfo_height', 'height: %d' % height, 0, 0)
app.addLabel('winfo_width', 'width: %d' % width, 1, 0)
app.go()
票数 2
EN

Stack Overflow用户

发布于 2017-09-25 13:28:46

幸运的是,appJar允许您创建Tk()实例。因此,我能够创建一个实例,使用这些函数检索维度并销毁当时不需要的实例。

代码语言:javascript
复制
# import appjar
from appJar import appjar

# Create an app instance to get the screen dimensions
root = appjar.Tk()

# Save the screen dimensions
width = root.winfo_screenwidth()
height = root.winfo_screenheight()

# Destroy the app instance after retrieving the screen dimensions
root.destroy()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46405870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档