鱼C论坛

 找回密码
 立即注册
查看: 4071|回复: 7

[已解决]easygui改窗口大小为什么无效

[复制链接]
发表于 2019-8-11 09:37:40 | 显示全部楼层 |阅读模式
50鱼币
本帖最后由 1404461012 于 2019-8-15 10:22 编辑

如图,修改后的窗口宽度(5已经很大了,而且改到100也没用)(我改之后都保存了)
这样的宽度不足以让我的项目名称显示完全,请问怎么才能成功修改,谢谢
截屏文件来自:Python\Python36\Lib\site-packages\easygui\boxes\choice_box.py
easygui版本号:0.98.1
最佳答案
2019-8-11 09:37:41
easygui用的不多,但是我试着回答一下吧

大概看了一下easygui库的源代码easygui.py,它对于msgbox是这样定义
  1. def msgbox(msg="(Your message goes here)", title=" ", ok_button="OK",image=None,root=None):
  2.     """
  3.     Display a messagebox
  4.     """
  5.     if type(ok_button) != type("OK"):
  6.         raise AssertionError("The 'ok_button' argument to msgbox must be a string.")

  7.     return buttonbox(msg=msg, title=title, choices=[ok_button], image=image,root=root)
复制代码


这就是通过buttonbox创建msgbox,然后接着看buttonbox定义,里面有这样一组语句:
  1.     boxRoot.protocol('WM_DELETE_WINDOW', denyWindowManagerClose )
  2.     boxRoot.title(title)
  3.     boxRoot.iconname('Dialog')
  4.     boxRoot.geometry(rootWindowPosition)
  5.     boxRoot.minsize(400, 100)
复制代码


这个应该就是设置boxRoot.minsize(400, 100) button组件默认的宽高了,试着修改成boxRoot.minsize(1000, 100),然后用
  1. easygui.buttonbox(msg="写点什么好呢?",title="",choices=("c1","c2","c3"))
复制代码

发现窗口大小改变了

因为我不知道楼主创建窗口使用的是哪个函数,就假设是easygui.buttonbox吧,如果是其他的也可以按照这个方法针对性修改。楼主说的choicebox,这个看名字是选择控件吧

另外多说点心得哈,boxRoot.minsize()貌似是easygui创建原生窗口的函数,这个boxRoot是一个Tk()对象,我尝试写这样大代码
  1. import easygui

  2. from easygui import Tk

  3. boxRoot=Tk()
  4. screen_width  = boxRoot.winfo_screenwidth()
  5. screen_height = boxRoot.winfo_screenheight()

  6. boxRoot.minsize(screen_width,screen_height)
复制代码


这样也能创建一个窗口,这样是不是....感觉有点类似自绘窗体控件



1.png
2.png

最佳答案

查看完整内容

easygui用的不多,但是我试着回答一下吧 大概看了一下easygui库的源代码easygui.py,它对于msgbox是这样定义 这就是通过buttonbox创建msgbox,然后接着看buttonbox定义,里面有这样一组语句: 这个应该就是设置boxRoot.minsize(400, 100) button组件默认的宽高了,试着修改成boxRoot.minsize(1000, 100),然后用 发现窗口大小改变了 因为我不知道楼主创建窗口使用的是哪个函数,就假设是easygui.buttonbox吧, ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-11 09:37:41 | 显示全部楼层    本楼为最佳答案   
easygui用的不多,但是我试着回答一下吧

大概看了一下easygui库的源代码easygui.py,它对于msgbox是这样定义
  1. def msgbox(msg="(Your message goes here)", title=" ", ok_button="OK",image=None,root=None):
  2.     """
  3.     Display a messagebox
  4.     """
  5.     if type(ok_button) != type("OK"):
  6.         raise AssertionError("The 'ok_button' argument to msgbox must be a string.")

  7.     return buttonbox(msg=msg, title=title, choices=[ok_button], image=image,root=root)
复制代码


这就是通过buttonbox创建msgbox,然后接着看buttonbox定义,里面有这样一组语句:
  1.     boxRoot.protocol('WM_DELETE_WINDOW', denyWindowManagerClose )
  2.     boxRoot.title(title)
  3.     boxRoot.iconname('Dialog')
  4.     boxRoot.geometry(rootWindowPosition)
  5.     boxRoot.minsize(400, 100)
复制代码


这个应该就是设置boxRoot.minsize(400, 100) button组件默认的宽高了,试着修改成boxRoot.minsize(1000, 100),然后用
  1. easygui.buttonbox(msg="写点什么好呢?",title="",choices=("c1","c2","c3"))
复制代码

发现窗口大小改变了

因为我不知道楼主创建窗口使用的是哪个函数,就假设是easygui.buttonbox吧,如果是其他的也可以按照这个方法针对性修改。楼主说的choicebox,这个看名字是选择控件吧

另外多说点心得哈,boxRoot.minsize()貌似是easygui创建原生窗口的函数,这个boxRoot是一个Tk()对象,我尝试写这样大代码
  1. import easygui

  2. from easygui import Tk

  3. boxRoot=Tk()
  4. screen_width  = boxRoot.winfo_screenwidth()
  5. screen_height = boxRoot.winfo_screenheight()

  6. boxRoot.minsize(screen_width,screen_height)
复制代码


这样也能创建一个窗口,这样是不是....感觉有点类似自绘窗体控件



评分

参与人数 2荣誉 +5 鱼币 +7 贡献 +3 收起 理由
1404461012 + 5 + 5 + 3 太感激你了,谢谢
zltzlt + 2 点赞

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-11 09:41:17 | 显示全部楼层
你为什么要把标题搞得那么长?不能在窗口中显示文字吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-8-11 09:48:39 | 显示全部楼层
zltzlt 发表于 2019-8-11 09:41
你为什么要把标题搞得那么长?不能在窗口中显示文字吗?

这些属性和其他东西混在一个框里不舒服。基本属性要分隔开来,话说你能教教我吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-12 11:09:18 | 显示全部楼层
我连可以改大小都不知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-12 20:11:16 | 显示全部楼层
这个貌似改不了吧,我把他调到 100 也没用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-14 14:40:49 | 显示全部楼层
ykn大神6 发表于 2019-8-12 11:09
我连可以改大小都不知道

我只好不再说什么了......
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-13 22:11:37 | 显示全部楼层
我想知道怎么调节窗口文字的大小比如title
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 20:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表