2017-10-10 69 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