我正在创建一个小跟踪器窗口与一些定时器,我希望能够使它点击通过。我还没有找到解决这个问题的办法。窗口本身已创建,计时器正在工作。我唯一搞不清楚的是,是否有可能使窗口点击通过。我用的是tkinter软件包。你知道吗
我的代码可以在这里找到:http://pastebin.com/qSFZqpQ6-这有点混乱,因为我是Python新手,所以我可能肯定可以在我的设置中工作。你知道吗
来自链接的代码
import win32api
import time
from tkinter import *
input = "0.00"
counter = time.clock()
flaskmult = 1.11
positionX = 2300
positionY = 1100
witchfireTime = 6
dyingrumiTime = 4.8
basaltTime = 7.9
activeTime = False
started = False
def keyWasUnPressed():
global counter
counter = time.clock()
global started
started = True
def isKeyPressed(key):
#"if the high-order bit is 1, the key is down; otherwise, it is up."
return (win32api.GetKeyState(key) & (1 << 7)) != 0
root = Tk()
root.title("Flasktracker")
root.overrideredirect(1)
root.geometry("+"+str(positionX)+"+"+str(positionY))
root.wm_attributes("-topmost", 1)
labelText = StringVar()
label = Label(root,textvariable=labelText, relief=FLAT, font = "Helvetica 36 bold italic").grid(row=0, column=0)
labelText.set("Witchfire: ")
labelText2 = StringVar()
label2 = Label(root,textvariable=labelText2, relief=FLAT, font = "Helvetica 36 bold italic").grid(row=0, column=1)
labelText2.set(input)
labelText3 = StringVar()
label3 = Label(root,textvariable=labelText3, relief=FLAT, font = "Helvetica 36 bold italic").grid(row=1, column=0)
labelText3.set("Dying/Rumi: ")
labelText4 = StringVar()
label4 = Label(root,textvariable=labelText4, relief=FLAT, font = "Helvetica 36 bold italic").grid(row=1, column=1)
labelText4.set(input)
labelText5 = StringVar()
label5 = Label(root,textvariable=labelText5, relief=FLAT, font = "Helvetica 36 bold italic").grid(row=2, column=0)
labelText5.set("Basalt: ")
labelText6 = StringVar()
label6 = Label(root,textvariable=labelText6, relief=FLAT, font = "Helvetica 36 bold italic").grid(row=2, column=1)
labelText6.set(input)
key = ord('1')
wasKeyPressedTheLastTimeWeChecked = False
def calcTime(timer):
return (timer*flaskmult)-(time.clock()-counter)
while True:
keyIsPressed = isKeyPressed(key)
if not keyIsPressed and wasKeyPressedTheLastTimeWeChecked:
keyWasUnPressed()
wasKeyPressedTheLastTimeWeChecked = keyIsPressed
activeTime = False
if started and calcTime(witchfireTime)>0:
labelText2.set('{:0.2f}'.format(calcTime(witchfireTime)))
activeTime = True
else:
labelText2.set("0.00")
if started and calcTime(dyingrumiTime)>0:
labelText4.set('{:0.2f}'.format(calcTime(dyingrumiTime)))
activeTime = True
else:
labelText4.set("0.00")
if started and calcTime(basaltTime)>0:
labelText6.set('{:0.2f}'.format(calcTime(basaltTime)))
activeTime = True
else:
labelText6.set("0.00")
if activeTime:
root.attributes('-alpha',1)
else:
root.attributes('-alpha',0)
time.sleep(0.001)
root.update_idletasks()
root.update()
不,不可能用tkinter做这个。使用大量特定于平台的扩展可能可以做到这一点,但是如果您这样做的话,您最好只编写一个没有tkinter的本机解决方案。你知道吗
相关问题 更多 >
编程相关推荐