[ImGui] Смена стиля/темы.

leginsoffi

Новичок
Автор темы
2
0
Добрый день, я хочу сделать в ImGui смену темы,
И прикол в том что я не могу сделать ее часа 2. Я не знаю, может я додик и так невозможно сделать?
Типа максимум что я придумал:


Code:
-- Не [Main], а просто на первых строчках кода.

local combo_styles = imgui.ImInt(0)
styles_str = {u8"Тёмная", u8"Светлая"}

-- [imgui.OnDrawFrame]

combo_styles()

imgui.Text(u8'Стиль: ')

        imgui.SameLine()
        imgui.PushItemWidth(100)
        imgui.Combo(u8' ', combo_styles, styles_str, #styles_str)
       
end

-- После [imgui.OnDrawFrame]

if combo_styles == 0 then
    setup_custom_style1()
else
    setup_custom_style2()
end

Или:

Code:
-- Не [Main], а просто на первых строчках кода.

local combo_styles = imgui.ImInt(0)
styles_str = {u8"Тёмная", u8"Светлая"}

-- [imgui.OnDrawFrame]

styllle()

imgui.Text(u8'Стиль: ')
        imgui.SameLine()
        imgui.PushItemWidth(100)
        imgui.Combo(u8' ', combo_styles, styles_str, #styles_str)
end

-- После [imgui.OnDrawFrame]

function styllle()
    if combo_styles == 0 then
        setup_custom_style1()
    else
        setup_custom_style2()
    end
end
 

leginsoffi

Новичок
Автор темы
2
0
Просто вместо imgui.RadioButton юзай imgui.Combo
Я как раз юзал, но я не понимаю как можно изменить уже сам стиль, типа я его смотрел я сделал все по его уроку. Ну и мне в голову пришла идея сделать смену стиля. Ну я ее попытался сделать, и ничего не получилось
 

Smeruxa

Известный
959
414
Добрый день, я хочу сделать в ImGui смену темы,
И прикол в том что я не могу сделать ее часа 2. Я не знаю, может я додик и так невозможно сделать?
Типа максимум что я придумал:

Code:
-- Не [Main], а просто на первых строчках кода.

local combo_styles = imgui.ImInt(0)
styles_str = {u8"Тёмная", u8"Светлая"}

-- [imgui.OnDrawFrame]

combo_styles()

imgui.Text(u8'Стиль: ')

        imgui.SameLine()
        imgui.PushItemWidth(100)
        imgui.Combo(u8' ', combo_styles, styles_str, #styles_str)
      
end

-- После [imgui.OnDrawFrame]

if combo_styles == 0 then
    setup_custom_style1()
else
    setup_custom_style2()
end

Или:

Code:
-- Не [Main], а просто на первых строчках кода.

local combo_styles = imgui.ImInt(0)
styles_str = {u8"Тёмная", u8"Светлая"}

-- [imgui.OnDrawFrame]

styllle()

imgui.Text(u8'Стиль: ')
        imgui.SameLine()
        imgui.PushItemWidth(100)
        imgui.Combo(u8' ', combo_styles, styles_str, #styles_str)
end

-- После [imgui.OnDrawFrame]

function styllle()
    if combo_styles == 0 then
        setup_custom_style1()
    else
        setup_custom_style2()
    end
end
Lua:
local combo_styles = imgui.ImInt(0)
styles_str = {u8"Тёмная", u8"Светлая"}

function imgui.OnDrawFrame()
    if combo_styles.v == 0 then
        setup_custom_style1()
    else
        setup_custom_style2()
    end
    imgui.Text(u8'Стиль: ')
    imgui.SameLine()
    imgui.PushItemWidth(100)
    imgui.Combo(u8' ', combo_styles, styles_str)
    imgui.PopItemWidth()
end
 
  • Нравится
Реакции: TheBobr