鱼C论坛

 找回密码
 立即注册
查看: 2257|回复: 2

[已解决]我写好的tkinter窗口在自己电脑尺寸正常,别人的尺寸不对

[复制链接]
发表于 2021-9-15 19:00:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. from tkinter import Label,StringVar,Entry,Button,IntVar,Checkbutton
  2. import tkinter as tk
  3. from selenium import webdriver
  4. import time
  5. from selenium.webdriver.common.action_chains import ActionChains

  6. root =tk.Tk()
  7. root.title('请输入你的账号和密码')
  8. root.geometry("500x120+430+250")
  9.                
  10. Label(root,text="账号").grid(row=0)
  11. Label(root,text="密码").grid(row=1)
  12.                
  13. v1 = StringVar()
  14. v2 = StringVar()
  15.                
  16. e1 = Entry(root,textvariable=v1)
  17. e2 = Entry(root,textvariable=v2,show="*")

  18. e1.grid(row=0, column=1, padx=10, pady=5)
  19. e2.grid(row=1, column=1, padx=10, pady=5)

  20. var = IntVar()      
  21. def remember():
  22.     zhanghao = e1.get()
  23.     mima = e2.get()
  24.       
  25.     def open_web_1():
  26.         driver_path = r'E:\python\edgedriver_win64\msedgedriver.exe'#浏览器路径
  27.         driver = webdriver.Edge(executable_path=driver_path)
  28.         driver.maximize_window()#最大化网页
  29.         driver.get("https://authserver.zjou.edu.cn/cas/login?service=http%3A%2F%2Fnewjwgl.zjou.edu.cn%2Feams%2Flogin.action")#打开指定网页
  30.         driver.refresh()#刷新屏幕
  31.                
  32.         def input(zhanghao,mima):
  33.             time.sleep(0.2)
  34.             driver.find_element_by_id('username').send_keys(zhanghao)#输入账号
  35.             time.sleep(0.2)
  36.             driver.find_element_by_id('password').send_keys(mima)#输入密码
  37.             
  38.                     
  39.         def login():
  40.             driver.find_element_by_css_selector('[onclick = "return login()"]').click()#点击登录
  41.             driver.refresh()#刷新屏幕
  42.             driver.maximize_window()#最大化网页
  43.             time.sleep()
  44.                     
  45.         input(zhanghao,mima)#输入账号密码
  46.         login()#登录   
  47.                
  48.    
  49.     root.destroy
  50.     open_web_1()

  51. def show_password():
  52.     if var.get() == 1:
  53.         
  54.         e2.config(show='')
  55.     else:
  56.         
  57.         e2.config(show='*')
  58.         
  59.                         
  60. Button(root,text="确定",width=20).grid(row = 2,  column=0, padx=10, pady=5)

  61. var = IntVar()
  62. c = Checkbutton(root,text='显示密码',variable=var,command=show_password).grid(row = 1,  column=2, padx=10, pady=5)

  63. def cancel():#切换账号密码
  64.     v1.set('')
  65.     v2.set('')
  66.    
  67. Button (root,text="切换账号",command = cancel,width = 20).grid(row = 2,column = 2,padx = 10,pady = 0)

  68. root.mainloop()




  69.    
  70.    
复制代码
最佳答案
2021-9-16 10:23:50

我们自己电脑个性化设置的分辨率和缩放布局大小不同,你 Tkinter 产生的效果自然也就不同,何况你代码中是写死的 500x120 分辨率大小

就算 Tkinter 中设置好了程序的分辨率大小,若此时去更改电脑分辨率大小,显示的 Tkinter 窗口效果也会发现有很明显的差别

若想在不同电脑上 窗口尽量自适应些,窗口大小改变影响小些,你可以通过 Tkinter 自带的一些方法来获取当前屏幕分辨率、当前组件分辨率大小,然后在通过通过一定比例换算成此时你想达到分辨率的效果大小

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

使用道具 举报

发表于 2021-9-16 10:23:50 | 显示全部楼层    本楼为最佳答案   

我们自己电脑个性化设置的分辨率和缩放布局大小不同,你 Tkinter 产生的效果自然也就不同,何况你代码中是写死的 500x120 分辨率大小

就算 Tkinter 中设置好了程序的分辨率大小,若此时去更改电脑分辨率大小,显示的 Tkinter 窗口效果也会发现有很明显的差别

若想在不同电脑上 窗口尽量自适应些,窗口大小改变影响小些,你可以通过 Tkinter 自带的一些方法来获取当前屏幕分辨率、当前组件分辨率大小,然后在通过通过一定比例换算成此时你想达到分辨率的效果大小

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

使用道具 举报

发表于 2021-10-20 10:56:18 | 显示全部楼层
您好,遇到相同的问题,请问怎么解决的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 01:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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