{"id":13466604,"url":"https://github.com/progmboy/gtkduilib","last_synced_at":"2025-03-25T21:32:34.657Z","repository":{"id":87681412,"uuid":"46649996","full_name":"progmboy/gtkduilib","owner":"progmboy","description":null,"archived":false,"fork":false,"pushed_at":"2019-10-31T03:25:58.000Z","size":636,"stargazers_count":70,"open_issues_count":0,"forks_count":40,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-10-29T19:19:42.666Z","etag":null,"topics":["cross-platform","duilib","gtk","gui"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/progmboy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-11-22T06:54:52.000Z","updated_at":"2024-10-29T07:44:46.000Z","dependencies_parsed_at":"2023-03-17T14:00:40.935Z","dependency_job_id":null,"html_url":"https://github.com/progmboy/gtkduilib","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/progmboy%2Fgtkduilib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/progmboy%2Fgtkduilib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/progmboy%2Fgtkduilib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/progmboy%2Fgtkduilib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/progmboy","download_url":"https://codeload.github.com/progmboy/gtkduilib/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245548611,"owners_count":20633620,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-platform","duilib","gtk","gui"],"created_at":"2024-07-31T15:00:47.131Z","updated_at":"2025-03-25T21:32:34.197Z","avatar_url":"https://github.com/progmboy.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# gtkduilib\n\nduilib向gtk的移植\n\n## 编译\n\nwindows:\n```\ninstall [msys2](https://msys2.github.io/)\nthen install gtk3.0.x from msys2 shell\ninstall codeblocks\nopen the workspace and build\n```\n\nlinux (ubuntu):\n```\nsudo apt-get install codebloks libgtk3.0xxxx\nopen the workspace and build\n```\n\n## Demo\n大家可以看下demo.\n\nplayer run in windows:\n\n![player_windows](https://github.com/progmboy/gtkduilib/raw/master/snapshots/1.png)\n\nplayer run in ubuntu:\n\n![player_ubuntu](https://github.com/progmboy/gtkduilib/raw/master/snapshots/2.jpg)\n\n360safe run in ubuntu:\n\n![360demo](https://github.com/progmboy/gtkduilib/raw/master/snapshots/3.jpg)\n\n## 和原版的duilib有啥不同\n基本上兼容原版duilib的格式，主要有下面几种不同.\n\n1. 全部使用unicode, 便于移植, windows A/W很是闹心呀.\n2. 绘制字体使用pango的接口，没有保留原版的绘制接口.\n3. 好多LPCTSTR类型的参数使用const CUIString\u0026 传递.\n4. 使用pugixml作为xml解析.\n5. 直接使用gdk-pixbuf加载图片\n\n## 备注\n1. 做这个的目的其实是为了学习下gtk.duilib的框架很好，把windows消息机制移植到gtk的机制，控件代码基本上都不用改。\n2. gtk for windows的bug多多，建议还是在linux下弄\n3. gtk 在windows下是支持加载系统字体的,但是只支持english name, 大家写xml的时候注意下。\n4. 不喜勿喷, 谢谢 ^_^\n5. 欢迎pull request\n\n## TODO:\n太多了。\n- [ ] 上传demo\n- [ ] 键盘事件\n- [ ] EDIT控件，树控件, webview\n- [ ] 移植原版demo\n- [ ] ...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprogmboy%2Fgtkduilib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprogmboy%2Fgtkduilib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprogmboy%2Fgtkduilib/lists"}