2017-10-10 32 views
0

我是新来的Python和我正在测试脚本,只显示小格式的mysql记录 - 我不应该使用'树'我假设为开始。这里是我的代码:Python(Tkinter)如何显示Mysql记录而没有列表?

from tkinter import * 
import pymysql as mdb 
from tkinter import ttk 

root = Tk() 
root.title("eCOMMAND") 
root.minsize(800,500) 
root.geometry("1200x800") 


tree = ttk.Treeview(root) 

# Database Call 
dbi = mdb.connect("localhost",port=3306, user="user", passwd="*****", db="index_db") 
cursor = dbi.cursor() 

tree["columns"] = ("one", "two", "three") 
tree.column("one", width=100) 
tree.column("two", width=100) 
tree.column("three", width=100) 


cursor.execute("""SELECT * FROM caution_elements""") 
dbi.commit() 

cpt = 0 
tree.insert('', 'end', values=(row[0], row[1], row[2])) 
cpt += 1 # increment the ID 
tree.pack() 

photo = PhotoImage(file="test.png") 
label = Label(root,image=photo) 
label.pack() 

root.mainloop() 

我已经包含了我的整个测试脚本。我能够显示列出的记录,但我不想在上面的空框(行说明)或空的垂直列 - 我只想要和需要单元格数据。所以如果我只调用一条记录,它只会显示那一盒数据。

我想显示的数据很像你会调用PHP的CSS(PHP的包括)少调用第二个PHP脚本的结果,但更直接的,如果可能的话。

+1

我很困惑,问题是什么?你是不是按照你喜欢的方式在tkinter窗口中显示信息,或者你没有按照你喜欢的方式从SQL文件中收集数据? –

+2

如果您的[mcve]不需要数据库连接,将会有所帮助。由于该问题似乎是关于显示信息而不是获取数据,因此可以对与cursor.execute所返回的格式完全相同的数据进行硬编码。 –

回答

0

如果我理解你的问题的权利,你想摆脱Treeview的第一列和标题。

你需要的是树视图的show选项:

  • 既显示show='tree headings'(默认),
  • show='tree'只显示第一列,但不是标题,
  • ...

所以,要达到你想要的,你所要做的就是 tree.configure(show='')

+0

感谢您的回应,并对混淆感到抱歉。是的,我在检索或获取数据或通过Tkinter显示数据方面没有任何问题。这个问题很简单,我的数据显示比我需要的更加结构化。我只希望在没有任何框架或标签的情况下显示数据。通过仅显示数据,它几乎可以在屏幕上显示状态或警报。我会尝试tree.configure并更新我的成功。 – Raymond

+0

树选项允许没有特定的区域来描述,但我不想只有数据单元格。这可能吗? – Raymond

+0

我试过tree.configure(show ='tree'),我松开了顶部,但仍然有空的左列,即| |数据|数据|数据|我只想要ie |数据|数据|数据 – Raymond