在python中窗口的宽度是由什么来表示

在python中窗口的宽度是由什么来表示,第1张

我们先创建一个tk窗口#-- coding:utf-8 --import tkinter#小编这里是python3,使用python2的小伙伴把tkinter换成Tkinter即可,否则报错哦win = tkinterTk()winmainloop()这样我们就创建了一个tk窗口,尽管这个窗口什么都没有。

我们要用到的方法是tk对象提供的winfo_width和winfo_height,从字面上我们都可以理解:winfo_width获得窗口的宽度,winfo_height获得窗口的高度。以上两个方法都是无参方法,通过返回值我们可以获得窗口的宽高。OK,我们插入代码print("当前窗口的宽度为",winwinfo_width())print("当前窗口的高度为",winwinfo_height())

未经芝士统回答便允许不得转载本何文内容,否则将视有为侵可权

这里很多小伙伴就会问了,为什么是1?窗口的宽高绝对不是1。没错,但是程序并没有做错,我们只是少了点什么?我们需要刷新窗口数据,如果小伙伴经常使用tk这个图形库,就会知道,我们使用winfo_width和winfo_height得到的宽高其实是tk初始化时的一个值。此时我们调用update方法,刷新win窗口。winupdate()快看,是不是成功获得了窗口的宽高?

我们可以自定义窗口大小来看数据是否正确。例如小编这里设置窗口大小 = 100 x 100,即宽100px高100pxwingeometry("100x100")这里可能又有小伙伴会问了,为什么宽度又出错了?其实很简单,因为tk帮我们创建了窗口装饰器,装饰器有以下几个部分:图标、标题、最大化、最小化和关闭按钮这些装饰器占据了16个px,其实是15个,还有1个px像素点是作为窗口和装饰器之间的距离红色标记部分所有代码为:#-- coding:utf-8 --import tkinterwin = tkinterTk()wingeometry("100x100")winupdate()print("当前窗口的宽度为",winwinfo_width())print("当前窗口的高度为",winwinfo_height())winmainloop()

刚好我前段时间写了一个日志分析工具、也是需要手动选择文件夹、然后列出整个文件夹里面的文件,然后双击选择

1、用tkinterfiledialog的filedialog来打开选择文件夹

2、用oslistdit()来显示文件夹里面的所有文件,当然你可以设置if条件,来选择你想显示的文件

代码;

#!/usr/bin/env python

#!encoding:utf-8

#!filename:test_filedialogpy

import tkinterfiledialog as filedialog

from tkinter import 

import os

from tkinter import 

def callback():

    entrydelete(0,END) #清空entry里面的内容

    listbox_filenamedelete(0,END)

    #调用filedialog模块的askdirectory()函数去打开文件夹

    global filepath

    filepath = filedialogaskdirectory() 

    if filepath:

        entryinsert(0,filepath) #将选择好的路径加入到entry里面

    print (filepath)

    getdir(filepath)

def getdir(filepath=osgetcwd()):

    """

    用于获取目录下的文件列表

    """

    cf = oslistdir(filepath)

    for i in cf:

        listbox_filenameinsert(END,i)

if __name__ == "__main__":

    root = Tk()

    roottitle("测试版本")

    rootgeometry("400x400")

    rootrowconfigure(1, weight=1)

    rootrowconfigure(2, weight=8)

    entry = Entry(root, width=60)

    entrygrid(sticky=W+N, row=0, column=0, columnspan=4, padx=5, pady=5)

    button = Button(root,text="选择文件夹",command=callback)

    buttongrid(sticky=W+N, row=1, column=0, padx=5, pady=5)

    #创建loistbox用来显示所有文件名

    listbox_filename = Listbox(root, width=60)

    listbox_filenamegrid(row=2, column=0, columnspan=4, rowspan=4, 

                            padx=5, pady=5, sticky=W+E+S+N)

    rootmainloop()

效果图

望采纳

以上就是关于在python中窗口的宽度是由什么来表示全部的内容,包括:在python中窗口的宽度是由什么来表示、用python创建了一个窗口,可以选择文件,现在想要在同一目录下搜索出其他文件、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9580439.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存