Skip to content

核心概念

Quik 的设计围绕四个核心能力,点击下方链接深入了解:

快速一览

xml
<Panel>
    <CheckBox title="启用" var="enable" default="1"/>
    <LineEdit title="参数" var="param" visible="$enable==1"/>
    <ComboBox title="模式" var="mode">
        <Choice q-for="item in modes" text="$item.label" val="$item.val"/>
    </ComboBox>
    <HLayoutWidget>
        <addStretch/>
        <PushButton text="执行" var="btnRun"/>
    </HLayoutWidget>
</Panel>
cpp
Quik::XMLUIBuilder builder;
QWidget* ui = Quik_BUILD(builder, "Panel.xml");

Quik::QuikViewModel vm(&builder);
auto enable = vm.var<bool>("enable");
auto param = vm.var<QString>("param");
auto mode = vm.var<QString>("mode");
auto modes = vm.list("modes");
auto btnRun = vm.button("btnRun");

modes = {
    {{"label", "快速"}, {"val", "fast"}},
    {{"label", "精确"}, {"val", "accurate"}}
};

enable.watch([](bool v) {
    // 值变化时触发
});

btnRun.onClick([&]() {
    if (enable) {
        run(mode, param);
    }
});

基于 MIT 协议开源