鱼C论坛

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

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

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

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

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

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

root =tk.Tk()
root.title('请输入你的账号和密码')
root.geometry("500x120+430+250")
                
Label(root,text="账号").grid(row=0)
Label(root,text="密码").grid(row=1)
                
v1 = StringVar()
v2 = StringVar()
                
e1 = Entry(root,textvariable=v1)
e2 = Entry(root,textvariable=v2,show="*")

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

var = IntVar()       
def remember():
    zhanghao = e1.get()
    mima = e2.get()
      
    def open_web_1():
        driver_path = r'E:\python\edgedriver_win64\msedgedriver.exe'#浏览器路径
        driver = webdriver.Edge(executable_path=driver_path)
        driver.maximize_window()#最大化网页
        driver.get("https://authserver.zjou.edu.cn/cas/login?service=http%3A%2F%2Fnewjwgl.zjou.edu.cn%2Feams%2Flogin.action")#打开指定网页
        driver.refresh()#刷新屏幕
                
        def input(zhanghao,mima):
            time.sleep(0.2)
            driver.find_element_by_id('username').send_keys(zhanghao)#输入账号
            time.sleep(0.2)
            driver.find_element_by_id('password').send_keys(mima)#输入密码
            
                    
        def login():
            driver.find_element_by_css_selector('[onclick = "return login()"]').click()#点击登录
            driver.refresh()#刷新屏幕
            driver.maximize_window()#最大化网页
            time.sleep()
                    
        input(zhanghao,mima)#输入账号密码
        login()#登录    
                
    
    root.destroy
    open_web_1()

def show_password():
    if var.get() == 1:
        
        e2.config(show='')
    else:
        
        e2.config(show='*')
        
                        
Button(root,text="确定",width=20).grid(row = 2,  column=0, padx=10, pady=5)

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

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

root.mainloop()




    
    
最佳答案
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, 2025-1-12 22:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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