0

基本上我已经编写了一个 GUI,来制作一个数学游戏并使用 sql 将它链接到我的 microsft 访问数据库,但是我无法将我的问题打印到我的标签上,有什么想法吗?另外,您如何从我的问题列表中生成一个随机数,因为您可以看到我的 jim 语句不起作用。

import Tkinter
import Databaseconnector


class simpleapp_tk(Tkinter.Tk):
    def __init__(self,parent):
        Tkinter.Tk.__init__(self,parent)
        self.parent = parent
        self.initialize()

    def initialize(self):
        jim = randomnumber()

        SQL = 'SELECT * FROM tblQuestion'
        cursor = Databaseconnector.SELECT(SQL)
        rows = cursor.fectchall()
        for row in rows:
            print row.Question, row.Hint, row.A1, row.A2, row.A3, row.A4, row.CorrectAnswer
            alabel2.set("Question: " + (row.question)(jim).Item(1))

    def create_widgets(self):
        # create welcome label
        label1 = Tkinter.Label(self, text = "Question Game !")
        label1.grid(row = 0, column = 1, columnspan = 2, sticky = 'W')

        # create intruction label
        alabel2 = Tkinter.Label(self, text = "")
        alabel2.grid(row = 1, column = 0, columnspan = 2, sticky = 'W')

        a1loginbutton = Tkinter.Button(self, text = "Enter",)
        a1loginbutton.grid(row = 9, column = 1, sticky = 'W')

        label3 = Tkinter.Label(self, text = "")
        label3.grid(row = 10, column = 0, columnspan = 2, sticky = 'W')

        a2loginbutton = Tkinter.Button(self, text = "Enter",)
        a2loginbutton.grid(row = 11, column = 1, sticky = 'W')

        a3loginbutton = Tkinter.Button(self, text = "Enter",)
        a3loginbutton.grid(row = 9, column = 3, sticky = 'E')

        a4loginbutton = Tkinter.Button(self, text = "Enter",)
        a4loginbutton.grid(row = 11, column = 3, sticky = 'E')

        label4 = Tkinter.Label(self, text = "")
        label4.grid(row = 12, column = 0, columnspan = 2, sticky = 'W')

        hiloginbutton = Tkinter.Button(self, text = "Hint",)
        hiloginbutton.grid(row = 13, column = 3, sticky = 'E')

        label5 = Tkinter.Label(self, text = "Score:")
        label5.grid(row = 14, column = 1, columnspan = 5, sticky = 's')

        def close_page(self):
            self.destroy()

if __name__ == "__main__":
    app = simpleapp_tk(None)
    app.title('my application')
    app.geometry("150x200")
    app.mainloop()
4

1 回答 1

0

根据OP的评论编辑:

  1. 这一行有一个错字:rows = cursor.fectchall()
  2. 尝试将 label.set 语句更改为一个简单的案例,以确认它是否有效。alabel2.set("Question: " + row.question)
  3. 什么是 randomnumber() 函数,该(row.question)(jim).Item(1)行应该返回什么?
于 2013-02-20T10:18:51.600 回答