Python

Cara Menggunakan PyQt QTableWidget

Cara Menggunakan PyQt QTableWidget
Tabel digunakan untuk menampilkan data dalam format terstruktur, menurut baris dan kolom. Itu QTableWidget kelas PyQt dapat digunakan dengan Python untuk menampilkan data dalam bentuk tabel untuk tugas-tugas yang berkaitan dengan penelitian atau analisis data. Konten tabel dapat dihasilkan dari berbagai jenis penyimpanan, seperti daftar atau tabel dua dimensi, tabel database, file JSON, dll.  Satu atau lebih tabel dapat dibuat menggunakan QTableWidget dalam aplikasi PyQt. Tutorial ini menunjukkan cara menggunakan QTableWidget untuk membuat berbagai jenis tabel menggunakan skrip Python.

Metode yang Diperlukan

Itu QTableWidget kelas mencakup banyak metode untuk melakukan tugas yang terkait dengan pembuatan tabel. Beberapa metode yang lebih umum digunakan dari kelas ini dijelaskan di bawah ini:

Nama Metode Tujuan
setRowCount() Digunakan untuk menentukan jumlah baris.
setColumnCount() Digunakan untuk menentukan jumlah kolom.
setHorizontalHeaderLabels() Digunakan untuk mengatur label header tabel.
setItem() Digunakan untuk mengatur nilai sel tabel.
ubah ukuranColumnsToContents() Digunakan untuk mengubah ukuran kolom tabel berdasarkan konten.
mengubah ukuranRowsToContents() Digunakan untuk mengubah ukuran baris tabel berdasarkan konten.
setMinimumWidth() Digunakan untuk mengatur lebar minimum tabel.
setMinimumHeight() Digunakan untuk mengatur ketinggian minimum meja.
menunjukkan() Digunakan untuk menampilkan tabel.

Penggunaan QTableWidget

Bagian berikut memberikan contoh sederhana untuk menjelaskan cara membuat tabel di aplikasi PyQt menggunakan data statis dan data daftar.

Contoh 1: Buat Tabel Sederhana Menggunakan Data Statis

Skrip berikut membuat tabel data statis dengan lima baris dan empat kolom menggunakan: QTableWidget kelas. Dua untuk loop dengan nilai rentang telah digunakan dalam skrip untuk menambahkan data statis ke dalam sel tabel. Posisi baris dan kolom setiap sel telah ditambahkan sebagai konten setiap sel. Itu QDesktopWidget digunakan dalam skrip untuk menampilkan jendela dengan tabel di tengah layar.

# Impor perpustakaan yang diperlukan
sistem impor
dari PyQt5.QtWidgets mengimpor QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QDesktopWidget
dari PyQt5.QtCore impor QSize
# Tentukan kelas untuk membuat tabel dengan data statis
kelas SimpleTable(QMainWindow):
def __init__(sendiri):
# Panggil konstruktor induk
super().__init__()
# Atur ukuran dan judul jendela
diri.setMinimumSize(QSize(420, 150))
diri.setWindowTitle("Tabel Sederhana dengan Data Statis")
# Buat tabel dengan properti yang diperlukan
tabel = QTableWidget(sendiri)
meja.setColumnCount(4)
meja.setRowCount(5)
meja.setMinimumWidth(500)
meja.setMinimumHeight(500)
# Atur header tabel
meja.setHorizontalHeaderLabels(["Header-1", "Header-2", "Header-3", "Header-4"])
# Atur nilai tabel table
untuk saya dalam rentang (5):
untuk j dalam rentang (4) :
meja.setItem(i, j, QTableWidgetItem("Baris-" + str(i+1) + " , Kol-" + str(j+1)))
# Ubah ukuran baris dan kolom berdasarkan konten
meja.ubah ukuranColumnsToContents()
meja.mengubah ukuranRowsToContents()
# Tampilkan tabel
meja.menunjukkan()
# Tampilkan jendela di tengah layar
menang = diri sendiri.bingkaiGeometri()
pos = QDesktopWidget().tersediaGeometri().pusat()
menang.pindahPusat(pos)
diri.bergerak (menang.kiri atas())
diri.menunjukkan()
# Buat objek aplikasi dan jalankan aplikasi
aplikasi = QAplikasi(sys.argv)
mw = Tabel Sederhana()
mw.menunjukkan()
aplikasi.eksekutif()

Jendela berikut dengan tabel akan muncul skrip di atas dijalankan. Sesuai dengan nilai untuk loop, nilai sel dari baris pertama dan kolom pertama adalah 'Baris-1, Kol-1,' dan nilai sel dari baris terakhir dan kolom terakhir adalah 'Baris-5, Kol-4.'

Contoh 2: Buat Tabel dengan Tool-Tip Menggunakan Kamus dan Daftar Data

Skrip berikut membuat tabel dengan konten kamus dan daftar Python menggunakan QTableWidget kelas. Script juga menambahkan teks tool-tip untuk header tabel. Kamus Python bernama tanda juga dideklarasikan dalam skrip. Kode kursus digunakan sebagai nilai kunci kamus. Daftar Python dideklarasikan untuk menentukan ID siswa. Nilai kunci kamus ditambahkan ke header tabel, nilai daftar ditambahkan ke kolom pertama tabel, dan nilai kamus ditambahkan ke kolom tabel lainnya.

# Impor modul yang diperlukan
sistem impor
dari PyQt5.QtWidgets mengimpor QApplication, QTableWidget, QTableWidgetItem, QDesktopWidget
# Deklarasikan variabel kamus dengan tanda
tanda = 'CSE-401': [78, 93, 67, 88, 78],
'CSE-404': [90, 59, 82, 73, 89],
'CSE-406': [81, 80, 74, 83, 67],
'CSE-407': [81, 80, 98, 83, 72]
kelas TableFromList(QTableWidget):
def __init__(sendiri, data, *args):
# Panggil konstruktor induk
QTableWidget.__init__(sendiri, *args)
# Deklarasikan daftar IDS siswa student
diri.ID_daftar = ['0189945', '0154590', '0196734', '0185611', '0178956']
# Atur konfigurasi yang diperlukan untuk tabel
diri.data = data
diri.ubah ukuranColumnsToContents()
diri.mengubah ukuranRowsToContents()
diri.setColumnWidth(0, 100)
untuk saya dalam rentang (4):
diri.setColumnWidth(i, 80)
diri.setMinimumWidth(400)
diri.setWindowTitle("Tandai Lembar")
# Deklarasikan variabel untuk mengatur konten header
judul = []
header.menambahkan(")
# untuk loop untuk membaca kunci kamus
untuk n, masukkan enumerate(sorted(self .).data.kunci())):
header.tambahkan (kunci)
# untuk loop untuk membaca nilai kamus
untuk m, item dalam enumerate(self.data[kunci]):
ID = QTableWidgetItem(diri sendiri.ID_daftar[m])
diri.setItem(m, 0, ID)
newVal = QTableWidgetItem(str(item))
diri.setItem(m, n+1, newVal)
# Atur label header tabel
diri.setHorizontalHeaderLabels(header)
# Atur tooltips untuk header
diri.horizontalHeaderItem(1).setToolTip("Multimedia")
diri.horizontalHeaderItem(2).setToolTip("Kecerdasan Buatan")
diri.horizontalHeaderItem(3).setToolTip("Database Lanjutan")
diri.horizontalHeaderItem(4).setToolTip("Pemrograman Unix")
# Baca nilai sel tertentu
diri.diklik.menghubungkan (diri sendiri).di_klik)
# Tampilkan jendela di tengah layar
menang = diri sendiri.bingkaiGeometri()
pos = QDesktopWidget().tersediaGeometri().pusat()
menang.pindahPusat(pos)
diri.bergerak (menang.kiri atas())
diri.menunjukkan()
def on_click(sendiri):
untuk ItemVal dalam diri.item yang dipilih():
# Baca nilai header berdasarkan sel yang dipilih
subjek = diri sendiri.horizontalHeaderItem(ItemVal.kolom()).teks()
# Cetak informasi detail tanda
print("\n", sendiri.ID_list[ItemVal.row()], " mendapat ", ItemVal.teks(), "dalam", subjek)
# Buat objek aplikasi dan jalankan aplikasi
aplikasi = QAplikasi(sys.argv)
tabel = TableFromList(tanda, 5, 5)
meja.menunjukkan()
aplikasi.eksekutif()

Jendela berikut dengan tabel akan muncul setelah skrip di atas dijalankan.

Kesimpulan

Tutorial ini menunjukkan cara membuat tabel dengan data tetap, data kamus, dan data daftar menggunakan dua contoh. Tabel juga dapat dibuat dengan data dinamis menggunakan tabel database atau sumber data lainnya.

Cara Mengubah Pengaturan Mouse dan Touchpad Menggunakan Xinput di Linux
Sebagian besar distribusi Linux dikirimkan dengan pustaka "libinput" secara default untuk menangani kejadian input pada sistem. Ini dapat memproses ke...
Petakan ulang tombol mouse Anda secara berbeda untuk perangkat lunak yang berbeda dengan Kontrol Tombol X-Mouse
Mungkin Anda membutuhkan alat yang dapat membuat kontrol mouse Anda berubah dengan setiap aplikasi yang Anda gunakan. Jika demikian, Anda dapat mencob...
Ulasan Mouse Nirkabel Microsoft Sculpt Touch
Saya baru-baru ini membaca tentang Microsoft Sculpt Touch mouse nirkabel dan memutuskan untuk membelinya. Setelah menggunakannya untuk sementara waktu...