Sebelum kita mulai. Tutorial Python ini adalah bagian dari rangkaian tutorial Paket Python kami. Anda juga dapat menemukan topik terkait Tkinter lainnya
Jika aplikasi Python Anda bekerja dengan data, Anda mungkin ingin menampilkannya di UI Anda. Metode standar untuk menampilkan data pada aplikasi GUI adalah dalam format tabel (tabular), terdiri dari baris dan kolom seperti spreadsheet. Sayangnya, Tkinter tidak menyediakan widget untuk pembuatan tabel
Untungnya, ada metode alternatif untuk membuat tabel untuk menampilkan data di Tkinter. Misalnya, widget Entry dapat dikodekan untuk menampilkan data dalam sebuah tabel, dan ada juga paket tabel yang dapat diunduh dari Python Package Index (PyPI) dan diinstal
Setelah Anda memutuskan metode, tabel Tkinter dapat digunakan sebagai antarmuka untuk satu atau lebih tabel terkait yang terdapat dalam database untuk penyimpanan persisten atau permanen
Cara Menampilkan Data di Tabel Widget Entri Tkinter
Tonton demo di video ini atau lanjutkan menggulir untuk mendapatkan petunjuk dan cuplikan kode
Widget Entri biasanya digunakan untuk memasukkan atau menampilkan satu string teks, tetapi juga dapat digunakan bersama dengan range() function and for loop to display values in a table of multiple rows and columns.
Dalam contoh ini, fungsi range() menghasilkan daftar angka yang diisi ke dalam tabel widget Entri 5 baris dan 4 .
from tkinter import * rows = [] for i in range(5): cols = [] for j in range(4): e = Entry(relief=GROOVE) e.grid(row=i, column=j, sticky=NSEW) e.insert(END, '%d.%d' % (i, j)) cols.append(e) rows.append(cols) mainloop()Cara Menampilkan Data di Tabel Widget Tkinter Tksheet
Tksheet adalah paket pihak ketiga yang tersedia di PyPI. Ini menyediakan widget tabel Tkinter dengan banyak opsi termasuk menu popup (klik kanan) yang memungkinkan Anda menambah dan menghapus baris, mengedit data dalam sel, dan membatalkan perubahan. Koordinat baris dan kolom (x. y) ditampilkan di setiap sel secara default, dan dapat diganti dengan data lain.
Paket Tksheet dapat diinstal di terminal atau baris perintah, dengan memasukkan
Dalam contoh ini, fungsi range() menghasilkan daftar angka berdasarkan rumus kisi baris {ri} and column {cj} coordinates, and then populates the values in a table consisting of 1 row and 4 columns:
import tkinter as tk import tksheet top = tk.Tk() sheet = tksheet.Sheet(top) sheet.grid() sheet.set_sheet_data([[f"{ri+cj}" for cj in range(4)] for ri in range(1)]) # table enable choices listed below: sheet.enable_bindings(("single_select", "row_select", "column_width_resize", "arrowkeys", "right_click_popup_menu", "rc_select", "rc_insert_row", "rc_delete_row", "copy", "cut", "paste", "delete", "undo", "edit_cell")) top.mainloop()Cara Menampilkan Data SQLite di Tabel Tkinter
Tabel Tkinter dapat berfungsi sebagai antarmuka untuk data yang terletak di penyimpanan permanen, seperti database SQLite. Dalam hal ini, pernyataan SQL biasanya digunakan untuk memilih semua atau sebagian data dalam satu atau lebih tabel database untuk ditampilkan dalam tabel. Sebagai contoh
# Pernyataan SQL yang memilih semua data dari tabel
SELECT * from <database_table_name>Perhatikan bahwa data yang ditampilkan di tabel Tkinter tidak persisten, tetapi pernyataan kueri disimpan secara otomatis di database untuk penggunaan di masa mendatang
Dalam contoh ini, tabel Tkinter digunakan sebagai antarmuka untuk menampilkan data dalam tabel database SQLite
from tkinter import ttk import tkinter as tk import sqlite3 def connect(): con1 = sqlite3.connect("<path/database_name>") cur1 = con1.cursor() cur1.execute("CREATE TABLE IF NOT EXISTS table1(id INTEGER PRIMARY KEY, First TEXT, Surname TEXT)") con1.commit() con1.close() def View(): con1 = sqlite3.connect("<path/database_name>") cur1 = con1.cursor() cur1.execute("SELECT * FROM <table_name>") rows = cur1.fetchall() for row in rows: print(row) tree.insert("", tk.END, values=row) con1.close() # connect to the database connect() root = tk.Tk() tree = ttk.Treeview(root, column=("c1", "c2", "c3"), show='headings') tree.column("#1", anchor=tk.CENTER) tree.heading("#1", text="ID") tree.column("#2", anchor=tk.CENTER) tree.heading("#2", text="FNAME") tree.column("#3", anchor=tk.CENTER) tree.heading("#3", text="LNAME") tree.pack() button1 = tk.Button(text="Display data", command=View) button1.pack(pady=10) root.mainloop()_Cara Menampilkan Data Panda dan Numpy di Tabel Tkinter
Dalam contoh ini, struktur data Pandas dan Numpy ditampilkan dalam tabel Tkinter
import pandas as pd import numpy as np import sys from tkinter import * root = Tk() root.geometry('580x250') dates = pd.date_range('20210101', periods=8) dframe = pd.DataFrame(np.random.randn(8,4),index=dates,columns=list('ABCD')) txt = Text(root) txt.pack() class PrintToTXT(object): def write(self, s): txt.insert(END, s) sys.stdout = PrintToTXT() print ('Pandas date range of 8 values in 1 timestamp column adjacent to a numpy random float array of 8 rows and 4 columns, displayed in a Tkinter table') print (dframe) mainloop()Langkah selanjutnya
Sekarang setelah Anda tahu cara menggunakan manajer tata letak Paket () Tkinter, mari beralih ke hal lain yang dapat Anda lakukan dengan Tkinter
- Cara Menggunakan Paket Di Tkinter
- Cara Memasang Tkinter Di Windows
- Cara Memposisikan Tombol Di Tkinter
- Untuk apa Tkinter digunakan dan bagaimana cara menginstal Framework Python ini?
Dapatkan versi Python yang telah dikompilasi sebelumnya untuk Ilmu Data
Meskipun distribusi open source Python mungkin memuaskan bagi seorang individu, itu tidak selalu memenuhi persyaratan dukungan, keamanan, atau platform dari organisasi besar.
Inilah sebabnya mengapa organisasi memilih ActivePython untuk ilmu data, pemrosesan data besar, dan kebutuhan analisis statistik mereka
Dibundel dengan paket paling penting yang dibutuhkan Ilmuwan Data, ActivePython telah dikompilasi sebelumnya sehingga Anda dan tim Anda tidak perlu membuang waktu untuk mengonfigurasi distribusi sumber terbuka. Anda dapat fokus pada hal yang penting–menghabiskan lebih banyak waktu untuk membangun algoritme dan model prediktif terhadap sumber data besar Anda, dan lebih sedikit waktu untuk konfigurasi sistem