Rumah > pembangunan bahagian belakang > Tutorial Python > Saya membuat perpustakaan yang menambah GUI dan TUI ke projek anda

Saya membuat perpustakaan yang menambah GUI dan TUI ke projek anda

Susan Sarandon
Lepaskan: 2025-01-30 02:13:42
asal
419 orang telah melayarinya

MinInterface: Analisis kod satu talian untuk melaksanakan fail GUI, TUI, CLI, dan konfigurasi

Sesetengah orang sering mengatakan bahawa Python datang dengan bateri, tetapi anda mungkin tidak pernah mendengar unit bateri ini.

Alamat Projek GitHub

latar belakang

Saya mempunyai banyak idea, dan saya selalu tertekan untuk merancang banyak masa untuk UI, walaupun ia direalisasikan. Apabila saya menggunakan program praktikal pada komputer terpencil, saya memerlukan TUI interaktif;

Selama bertahun -tahun, saya telah belajar sama ada ada perkara sedemikian. Pada bulan Mei, saya menjalankan kajian skala besar, berbanding 30 perpustakaan semasa, dan mendapati tiada padanan. Pada akhirnya, saya mencipta program yang sempurna ini, dan dalam tempoh enam bulan yang lalu, saya telah menggunakannya dalam semua item. Ia juga boleh menjimatkan banyak kerja untuk orang lain.

hello dunia

Kunci ialah anda menggunakan DataClass (es) untuk menyimpan konfigurasi program, yang merupakan satu -satunya keadaan. MinInterface bertanggungjawab untuk selebihnya. Lupakan Argparse.

Lihat DataClass ini, dan anda mengemasnya ke dalam Run (Env) dan anda sudah selesai.

Apabila anda memanggil kaedah , kotak dialog akan muncul. Dalam persekitaran grafik, nampaknya ini:
from dataclasses import dataclass
from mininterface import run

@dataclass
class Env:
    my_str: str = "Hello"
    my_int: int = 10

m = run(Env)
m.form()
print(m.env.my_int)  # 10
Salin selepas log masuk

m.form()

Jika tidak dipaparkan, kami akan mendesak menggunakan antara muka teks. Ia masih interaktif sepenuhnya (anda juga boleh menggunakan tetikus).

I

Setiap atribut juga boleh diakses oleh baris arahan.

I

Akhirnya, jika terdapat fail yang dipanggil

, semua nilai akan diperoleh dari fail secara lalai. Sangat mudah, bukan?

lebih banyak fungsi I Sejak motivasi awal perpustakaan ini adalah kekecewaan, anda mungkin mendapati banyak butiran juga boleh menghapuskan kekecewaan anda. Konfigurasi bersarang, pemprosesan pemilihan (lancar!), Pengesahan, templat kotak dialog berguna yang lain, paparan imej (ya, walaupun di terminal) ... dalam beberapa minggu yang lalu, kami telah menambah kalendar yang hebat untuk tarikh pemilihan tarikh /masa . Ini bukan sekadar kalendar gaya korporat yang kelihatan baik tetapi digunakan. Kalendar ini direka untuk pengguna sebenar. Tingkah laku kekunci anak panah sangat pintar, dan segala -galanya dapat dikawal sepenuhnya melalui papan kekunci.

program.yaml

Lihat dokumen. Saya tahu dari pengalaman bahawa jika serpihan kod tidak dapat berjalan dengan segera, atau serpihan kod hanya deposit, saya cenderung membuang keseluruhan projek. Inilah sebabnya saya memastikan bahawa semua contoh kod adalah diri sendiri, dan selalu termasuk tangkapan skrin untuk memahami dengan jelas peranan setiap bahagian program.

Idea

bahagian terbaik? Anda tidak perlu mengadakan semula antara muka anda.

adakah anda terganggu dengan paparan imej? Meningkatkannya sekali, ia bukan sahaja akan meningkatkan program anda, tetapi juga meningkatkan semua projek menggunakan MinInterface. Kita boleh bekerjasama.

Walaupun saya berusaha untuk mengekalkan kestabilan dan intuisi tinggi antara muka, saya juga bersedia menerima perubahan dan fungsi baru. Apa pendapat anda? Apa lagi yang ada? Apa yang sepatutnya kelihatan lebih baik? Apakah titik kesakitan terbesar? Apa yang akan anda meyakinkan anda untuk mencubanya?

Alamat Projek GitHub

Atas ialah kandungan terperinci Saya membuat perpustakaan yang menambah GUI dan TUI ke projek anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan