Python DearPyGui之六:布局

DearPyGui的布局非常簡單,就是用一個“組合框”(dpg.group)的組件來布置。

一、說明

你可以將dpg.group看做一個盒子,盒子內(nèi)可以放很多組件(text、button等)
豎向放置
盒子里的組件默認(rèn)的是豎向排列放置的(從上往下),例如:

image.png

with dpg.window(label='Test', width=1260, height=480):
    with dpg.group():
        dpg.add_input_text(label='組件1(input_text)', width=200)
        dpg.add_button(label='組件2(button)',width=200)
        dpg.add_radio_button(items=['組件3(radio_button1)', '組件3(radio_button2)', '組件3(radio_button3)'])

橫向放置

image.png

with dpg.window(label='Test', width=1260, height=480):
    with dpg.group(horizontal=True):
        dpg.add_input_text(label='組件1(input_text)', width=200)
        dpg.add_button(label='組件2(button)',width=200)
        dpg.add_radio_button(items=['組件3(radio_button1)', '組件3(radio_button2)', '組件3(radio_button3)'])

二、組合放置

image.png
組合框示意圖.png
import dearpygui.dearpygui as dpg

dpg.create_context()
# 注冊字體,自選字體
with dpg.font_registry():
    with dpg.font("song.ttf", 18) as font1:  # 增加中文編碼范圍,防止問號
        dpg.add_font_range_hint(dpg.mvFontRangeHint_Default)
        dpg.add_font_range_hint(dpg.mvFontRangeHint_Chinese_Simplified_Common)
        dpg.add_font_range_hint(dpg.mvFontRangeHint_Chinese_Full)
    dpg.bind_font(font1)

dpg.create_viewport(title="DearPyGui_test", width=700, height=700)
with dpg.window(label='Test', width=1260, height=480):
    with dpg.group(label='整體組合', horizontal=True, horizontal_spacing=20):
        with dpg.group(label='局部組合1', horizontal=False):
            dpg.add_text(default_value='局部組合1內(nèi)的組件')
            dpg.add_listbox(items=[1, 2, 3, 4], width=100)
        with dpg.group(label='局部組合2', horizontal=False):
            dpg.add_text(default_value='局部組合2內(nèi)的組件')
            dpg.add_listbox(items=['A', 'B', 'C', 'D'], width=100)

dpg.setup_dearpygui()
dpg.show_viewport()
dpg.start_dearpygui()
dpg.destroy_context()

總結(jié)

image.png

在DearPyGui中,我們可以通過設(shè)置dpg.group的 horizontal 屬性來實現(xiàn)豎向或者橫向排列
豎向排列:horizontal=False (默認(rèn)情況)
橫向排列:horizontal=True (需要設(shè)置)
同時,通過多個組合框(dpg.group)更可以實現(xiàn)上圖所示的復(fù)雜布局
之所以DearPyGui布局比其他Python的GUI庫布局方便就在于此
當(dāng)你把dpg.group想象成一個個盒子,那么布局就像我們小時候玩的壘積木一樣,可以隨意組合。
至于如何能達(dá)到最佳布局,需要在實踐中慢慢摸索。
(作者君懶,且沒有藝術(shù)細(xì)菌,所以作者君的布局一向都是簡單粗暴的,嘿嘿)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容