Проблемы с кликером в игре с добавлением двойного клика и автоматического кликера - PullRequest
0 голосов
/ 13 мая 2018

Итак, у меня есть код ниже, который добавляет 1 к метке клика при каждом клике, но когда я пытаюсь добавить возможность изменить кнопку клика на двойные клики, я не могу понять это.

import Tkinter as tk
from Tkinter import *
import tkMessageBox

double_clicker = 0
class Gui(object):
root = tk.Tk()
root.title("Click the Button")
root.geometry =('650x400')
clicks = IntVar()

def __init__(self):
    global frame
    frame = tk.Frame(self.root)
    frame.grid(column=0, row=0, sticky=(N, W, E, S))
    frame.columnconfigure(0, weight=0)
    frame.rowconfigure(0, weight=0)

    tk.Button(frame, command=self.buy_doubleclicker, text='Double Clicks\nCost: 100 Clicks').grid(column=0,row=4,sticky=S)
    tk.Label(frame, text="Clicks:").grid(column=0, row=0, sticky=N)
    tk.Entry(frame, textvariable=self.clicks, width=10).grid(column=0, row=2, columnspan=2, sticky=N)
    tk.Button(frame, command=self.add_clicks, text="Click Me").grid(column=0, row=3, sticky=S)

def add_clicks(self):
    your_clicks = self.clicks.get()
    self.clicks.set(your_clicks + 1)

def buy_doubleclicker(self):
    global double_clicker
    your_clicks = self.clicks.get()
    if self.clicks.get() < 100:
        tkMessageBox.showerror("Not Allowed", "Not enough clicks!")
    else:
        self.add_clicks -= 100
        tkMessageBox.showinfo("Purchased!", "Double clicks purchased!")
        double_clicker += 1

def double_clicker(self):
    your_clicks = self.clicks.get()
    self.clicks.set(your_clicks + 1 + double_clicker)


go = Gui()
go.root.mainloop()

1 Ответ

0 голосов
/ 15 мая 2018

Вы хотите сказать, что вы хотите, чтобы кнопка реагировала на двойной щелчок.Кнопки не поддерживают это (насколько я знаю), но вы можете привязать кнопку к двойному щелчку:

widget.bind('<Double-Button-1>', callback_function)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...