账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    一套排版和程序分离GUI库的想法
    33
    0

    使用json格式的文本文件设计窗体排版,然后在C/C++程序中读取分析文本,最后调用系统提供的图形窗口API绘制控件。

    示例程序大致是这样的:

    https://github.com/zhangyun00...

    int main() {
    
    //system("chcp 65001");
    
    // read a JSON file
    
    std::ifstream i("test.json");
    
    json j;
    
    i >> j;
    
    cout << j["TopLevel"][0]["Name"];
    
    Draw_Window(j);
    
    return 0;
    
    }

    以上main函数中,读取设计好的json文件,生成对应的C++ 数据结构,然后调用Draw_Widow,直接按照json数据绘制窗口。

    上面的程序,绘制窗口是成功了,但是TextOut输出文本,Ellipse画椭圆却没成功。

    而你的窗体设计,大概是这样的:

    {"TopLevel":[{
    
    "Name": "Rectangle",
    
    "ID": "First",
    
    "Click": "FirstClick",
    
    "Title": "Test Title",
    
    "Top": "100",
    
    "Left": "100",
    
    "Width": "100",
    
    "Height": "100",
    
    "Child": {
    
    "Name":"Text",
    
    "Caption":"My name is zhang xiao ping"
    
    }},
    
    {
    
    "Name": "Rectangle",
    
    "ID": "Second",
    
    "Click": "SecondClick",
    
    "T": "100",
    
    "L": "100",
    
    "W": "100",
    
    "H": "100"
    
    }]
    
    }
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 逆苍天 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部