Memperkemaskan Reka Letak Menguasai Bahagian

Linda Hamilton
Lepaskan: 2024-11-05 21:39:02
asal
900 orang telah melayarinya

Streamlit Part Mastering Layouts

Menguasai Reka Letak dalam Streamlit: Panduan Langkah demi Langkah

Streamlit, rangka kerja yang digunakan secara meluas untuk membina aplikasi Python interaktif, terutamanya untuk visualisasi data, papan pemuka dan tunjuk cara pembelajaran mesin, menonjol bukan sahaja kerana sifat mesra penggunanya tetapi juga untuk keupayaannya untuk mencipta reka letak yang menarik secara visual dan intuitif . Dalam catatan blog ini, kami akan membimbing anda melalui contoh Python yang menunjukkan cara menggunakan elemen reka letak dengan berkesan seperti lajur, bekas, ruang letak dan banyak lagi dalam Streamlit.

Mari pecahkan teknik reka letak yang boleh anda gunakan untuk menjadikan apl anda lebih bersih dan lebih interaktif.

Menetapkan Peringkat: Konfigurasi Halaman

Sebelum melompat ke dalam elemen susun atur, kami mengkonfigurasi halaman menggunakan st.set_page_config(). Kaedah ini membolehkan anda menyesuaikan tajuk halaman, ikon, reka letak dan gelagat bar sisi tepat apabila apl dimuatkan.

st.set_page_config(
    page_title="Streamlit Layouts Tutorial",
    page_icon=":art:",
    layout="wide",
    initial_sidebar_state="collapsed",
)

Salin selepas log masuk
Salin selepas log masuk

Di sini, kami memberi halaman tajuk, menetapkan reka letak kepada "lebar" (yang menggunakan lebar penyemak imbas penuh) dan runtuhkan bar sisi pada mulanya untuk penampilan yang lebih bersih.

1. Penstrukturan dengan Lajur

Salah satu alatan reka letak yang paling berkuasa dalam Streamlit ialah lajur. Ia membolehkan anda memaparkan kandungan sebelah menyebelah, memberikan rupa yang lebih teratur dan menarik secara visual pada apl anda.

st.header("Columns")
st.write("Using `st.columns()` to create columns.")

# Create two columns
col1, col2 = st.columns(2)

col1.write("This is column 1")
if col1.button("Button in Column 1"):
    col1.write("Button 1 pressed")

col2.write("This is column 2")
if col2.button("Button in Column 2"):
    col2.write("Button 2 pressed")

Salin selepas log masuk
Salin selepas log masuk

Dalam coretan ini, kami membuat dua lajur dan meletakkan butang pada setiap lajur. Lajur dibahagikan sama rata dan sebarang interaksi dalam satu lajur tidak menjejaskan yang lain.

Mengapa Lajur?

Lajur bagus untuk memaparkan maklumat yang berkaitan secara bersebelahan, seperti ringkasan data, carta atau kawalan interaktif.

2. Pengelompokan dengan Bekas

Seterusnya ialah elemen bekas. Bekas dalam Streamlit membolehkan anda mengumpulkan berbilang elemen bersama-sama, menjadikannya lebih mudah untuk mengurus reka letak yang kompleks.

st.header("Container")
st.write("Using `st.container()` to group elements together.")

with st.container():
    st.write("This is inside a container")
    st.button("Button inside container")

    # Nested container
    with st.container():
        st.write("This is a nested container")
        st.button("Button inside nested container")

Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini, kaedah st.container() membalut berbilang elemen (teks dan butang) bersama-sama. Anda juga boleh meletakkan bekas di dalam satu sama lain untuk membuat reka letak hierarki.

Mengapa Bekas?

Bekas membantu mengekalkan struktur yang bersih dan berkumpulan, terutamanya apabila berurusan dengan berbilang bahagian kandungan yang digabungkan secara logik.

3. Mengemas kini Secara Dinamik dengan Pemegang Tempat

Ciri hebat Streamlit ialah keupayaannya untuk mengemas kini kandungan secara dinamik. Ini dilakukan menggunakan st.empty(), yang berfungsi sebagai pemegang tempat yang boleh anda kemas kini kemudian.

st.header("Empty")
st.write("Using `st.empty()` as a placeholder for updating content.")

placeholder = st.empty()

# Update the placeholder content dynamically
for i in range(5):
    placeholder.write(f"Updating... {i}")
    time.sleep(1)

placeholder.write("Done!")

Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini, kami menggunakan gelung for untuk mengemas kini pemegang tempat dengan nilai baharu setiap saat. Setelah gelung selesai, kami menggantikan kandungan pemegang tempat dengan "Selesai!"

Mengapa Menggunakan Pemegang Tempat?

Pemegang tempat sesuai untuk situasi di mana anda perlu mengemas kini bahagian apl anda secara dinamik tanpa menjalankan semula keseluruhan apl, seperti suapan data langsung atau kemas kini kemajuan.

4. Menyembunyikan dan Menunjukkan dengan Expander

Bahagian boleh dikembangkan sesuai untuk menyembunyikan tetapan lanjutan atau maklumat tambahan yang anda tidak mahu mengacaukan reka letak utama.

st.set_page_config(
    page_title="Streamlit Layouts Tutorial",
    page_icon=":art:",
    layout="wide",
    initial_sidebar_state="collapsed",
)

Salin selepas log masuk
Salin selepas log masuk

Di sini, kami membungkus beberapa kandungan dan butang di dalam pengembang, yang pengguna boleh klik untuk mendedahkan atau menyembunyikan kandungan.

Mengapa Expander?

Pengembang membantu memastikan antara muka anda bersih dengan menyembunyikan pilihan yang kurang penting atau lanjutan sambil menjadikannya mudah diakses apabila diperlukan.

5. Mencipta Borang

Borang strim membolehkan anda mengumpulkan widget input bersama-sama dan menunggu pengguna menyerahkan kesemuanya sekali gus, dan bukannya bertindak balas terhadap setiap input secara individu.

st.header("Columns")
st.write("Using `st.columns()` to create columns.")

# Create two columns
col1, col2 = st.columns(2)

col1.write("This is column 1")
if col1.button("Button in Column 1"):
    col1.write("Button 1 pressed")

col2.write("This is column 2")
if col2.button("Button in Column 2"):
    col2.write("Button 2 pressed")

Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini, kami menggunakan borang untuk mengumpulkan nama dan umur pengguna, dan hanya selepas mereka mengklik butang serah, Streamlit memproses input.

Mengapa Borang?

Borang memastikan bahawa tindakan input dikumpulkan dan diserahkan sebagai satu kelompok, yang sesuai untuk kes seperti pendaftaran pengguna atau penapisan data.

6. Menambah Bar Sisi

Bar sisi berguna untuk navigasi, tetapan apl atau pilihan tambahan yang tidak mengacaukan antara muka utama.

st.header("Container")
st.write("Using `st.container()` to group elements together.")

with st.container():
    st.write("This is inside a container")
    st.button("Button inside container")

    # Nested container
    with st.container():
        st.write("This is a nested container")
        st.button("Button inside nested container")

Salin selepas log masuk
Salin selepas log masuk

Kod ini menambahkan butang pada bar sisi, yang runtuh secara lalai tetapi boleh dikembangkan oleh pengguna.

Mengapa Menggunakan Bar Sisi?

Bar sisi sesuai untuk kandungan sekunder seperti pautan navigasi, penapis atau tetapan apl yang sentiasa boleh diakses tetapi tidak perlu menggunakan ruang dalam reka letak utama.

7. Menavigasi dengan Tab

Tab ialah cara terbaik untuk menyusun kandungan dalam satu bahagian, membenarkan pengguna bertukar antara paparan berbeza tanpa meninggalkan halaman.

st.header("Empty")
st.write("Using `st.empty()` as a placeholder for updating content.")

placeholder = st.empty()

# Update the placeholder content dynamically
for i in range(5):
    placeholder.write(f"Updating... {i}")
    time.sleep(1)

placeholder.write("Done!")

Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini, kami menggunakan tiga tab untuk memaparkan kandungan berbeza yang berkaitan dengan haiwan. Setiap tab adalah bebas dan mengandungi kandungannya sendiri.

Mengapa Tab?

Tab sesuai untuk menyusun kandungan yang berkaitan ke dalam bahagian, seperti paparan data atau kategori maklumat yang berbeza, tanpa memerlukan halaman yang berasingan.

Kesimpulan

Menguasai elemen reka letak Streamlit memperkasakan anda untuk mencipta aplikasi yang bersih, interaktif dan mesra pengguna. Dengan mahir menggunakan lajur, bekas, ruang letak, pengembang, borang, bar sisi dan tab, anda boleh menyusun kandungan anda dengan berkesan dan meningkatkan pengalaman pengguna secara keseluruhan. Alat ini membolehkan anda mencipta antara muka intuitif yang membimbing pengguna melalui aplikasi anda dengan lancar.


? Dapatkan Kod: GitHub - jamesbmour/blog_tutorials
? Tutorial Streamlit Berkaitan:JustCodeIt
? Sokong kerja saya: Beli Saya Kopi

Atas ialah kandungan terperinci Memperkemaskan Reka Letak Menguasai Bahagian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!