春眠不洗澡 发表于 2021-9-15 19:00:36

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

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('').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()




   
   

Twilight6 发表于 2021-9-16 10:23:50


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

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

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

meiszp 发表于 2021-10-20 10:56:18

您好,遇到相同的问题,请问怎么解决的?
页: [1]
查看完整版本: 我写好的tkinter窗口在自己电脑尺寸正常,别人的尺寸不对