Tkinter Canvas zufällig bestimmte Objekte erstellen?

1 Antwort

Ich habe im Python Doc nach gesehen da steht, dass choice nur ein Element nimmt.

Das hier funktioniert:

random.choice(["com_left","com_right"])

jedoch erschließt sich mir der sinn deines Programms immer noch nicht

Python TypeError: 'StringVar' object is not subscriptable?

Also ich muss ein Spiel mit Felder in tkinter programmieren, dieses Feld besteht aus 7x7 buttons die man drücken kann. Durch das drücken wird der Text auf den Button umgeschrieben. Nun bekomme ich aber folgende Fehlermeldung:

if buttons["text"] == " " and c_click.click == True:
TypeError: 'StringVar' object is not subscriptable

Der Code sieht dabei so aus (gekürzt)

import tkinter as tk
import tkinter.messagebox as mb
import random
from tkinter import *

class c_click():     click = True

root = tk.Tk() root.title("Spiel")

def spiel(buttons):

    if buttons["text"] == " " and c_click.click == True:         buttons["text"] = "W"         c_click.click = False     elif buttons["text"] == " " and c_click.click == False:         buttons["text"] = "B"         c_click.click = True

buttons = StringVar()

button1=Button(root, text=" ", font=('Arial 30 bold'), \                height = 1, width = 3, command = lambda:pahtum(button1)) button1.grid(row = 1, column = 0, sticky = S+N+E+W)

if __name__ == '__main__':     spiel(buttons)     root.mainloop()

Im Code oben ist nur ein button zu sehen, alle 49 buttons hier rein zu kopieren wäre sinnlos

Seltsam finde ich aber, dass ein Button, wenn ich drauf drücke jenachdem trotz der Fehlermeldung mit B oder W beschrieben wird. Also was hat

TypeError: 'StringVar' object is not subscriptable

zu bedeuten und wie fixxe ich das?

Danke

...zur Frage

Externes Pythonskript über andere Pythondatei öffnen?

Hallo,

Ich habe in Python, mithilfe von Tkinter ein Auswahlmenü mit Buttons programmiert. Nun möchte ich externe Pythonskipts per Buttonklick öffnen.

Mein Code sieht folgendermaßen aus:

from tkinter import *
    import os
    from tkinter import PhotoImage
    from random import *
    from functools import *
    import random
    import time

      #Fenster
 window = Tk()

window.configure() window.title("Spiel wählen") window.resizable(0,0) #Willkommenstext window.geometry("280x200") Willkommenstext = Label(font = "Arial 14",text = "Herzlich Willkommen") Willkommenstext.place(x = 55,y = 30)

Quit Buttton

Quit = Button(font = "Arial 10",text = "quit",fg = "black",bg = "red",command =window.destroy) Quit.place(x = 125,y = 170)

Spiel 1

Game1 = Button(font = "Arial 10",text = "Spiel 1 starten",command = open("SchereSteinPapier.py")) Game1.place(x = 100,y = 90) #Spiel 2 Game2 = Button(font = "Arial 10",text = "Spiel 2 starten",command = "") Game2.place(x = 100,y = 130)

mainloop()

Danke schon mal im vorhinein für Antworten

Kireznieh

...zur Frage

Hallo, ich hoffe ihr könnt mir helfen. Es geht um Python und Tkinter (3.4)

Ich möchte ein Quiz programmieren und habe folgendes Problem: Wenn die Antwort falsch ist scließt dich das Frage Fenster. Wenn sie allerdings Richtig beantwortet wurde schließt es sich komischerweise nicht.

def Frage4():
    def closeuweiter():
        import tkinter as ri
        def close1():
            ri.destroy()
            fr4.destroy
        ri= Tk()
        ri.geometry("280x150")
        ri.title("Kategorie: Sport")
        ri.config(bg="light blue")
        Label1=Label(ri,text="""RICHTG""",bg="light blue").pack()
        Button1=Button(ri,text="OK",command=close1,bg="light blue").pack()
        ri.mainloop
        #Frage5()
    def falsch4():
        import tkinter
        import tkinter as fr
        def close2():
            fr.destroy()
            fr4.destroy()
        fr= Tk()
        fr.geometry("280x150")
        fr.title("Falsch")
        fr.config(bg="light blue")
        Label1=Label(fr,text="Leider Verloren",bg="light blue").pack()
        Button1=Button(fr,text="OK",command=close2,bg="light blue").pack()
        Label1=Label(fr,text="Klicke im Los gehts Fenster\n auf den Knopf um nochmal zu spielen",bg="light blue").pack()
        fr.mainloop
    import tkinter as fr4
    fr4= Tk()
    fr4.geometry("280x440")
    fr4.title("Frage 4")
    fr4.config(bg="light blue")
    Frage1=Label(fr4, text="4. In welchem Abstand\nfinden die Fußballweltmeisterschaften statt ?",bg="light blue").pack()
    Radiobutton9=Button(fr4, text="Alle 2 Jahre",bg="light blue",command=falsch4).pack(anchor=W)
    Radiobutton10=Button(fr4, text="Alle 4 Jahre",bg="light blue",command=closeuweiter).pack(anchor=W)
    Radiobutton11=Button(fr4, text="Alle 6 Jahre",bg="light blue",command=falsch4).pack(anchor=W)
    Radiobutton12=Button(fr4, text="Alle 8 Jahre",bg="light blue",command=falsch4).pack(anchor=W)

Der ganze Code: http://pastebin.com/Y5fLqibh

...zur Frage

Was möchtest Du wissen?