网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月15日漏签0天
gtk吧 关注:2,295贴子:4,892
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1 2 下一页 尾页
  • 33回复贴,共2页
  • ,跳到 页  
<<返回gtk吧
>0< 加载中...

有人复现了GTK3 的 app 示例吗

  • 只看楼主
  • 收藏

  • 回复
  • 雨花抬老汉
  • 铁杆吧友
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在 docs.gtk.org/gtk3/getting_started.html 里有【A trivial application】,第一次将应用程序分成多文件开发。
里面给了一堆代码,我想从无到有一个函数一个函数增加进入运行。

好像不行,教材没有讲清楚里面的关系。


  • LuoYi
  • 小吧主
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个示例总共包含5个文件,
---- gtk3_example
|---- exampleapp.h
|---- exampleapp.c
|---- exampleappwin.h
|---- exampleappwin.c
|---- main.c
下面我给出各个文件大致代码的截图,2个头文件是纯手打的,3个c文件抄袭自官网相应内容,并对部分变量名做了修改,符合我自己的习惯(dog)。所有代码我没进行编译并运行测试,不保证代码一定正确,仅供参考。
exampleapp.h (图片中有划红的,emmm,不要在意这个细节啊XD,下同)

exampleapp.c (此处截图不全,还差上面两句include头文件,分别包含exampleapp.h和exampleappwin.h,请自行添加)

exampleappwin.h

exampleappwin.c

main.c

如有问题,欢迎提问,工作繁忙,看到并且有时间就会回复,说不定就给忘了(dog)


2025-07-15 16:36:04
广告
  • 雨花抬老汉
  • 铁杆吧友
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
之前学的 widget 都是一个 c 文件,还好弄,这第一个应用就是多文件编译,一下子难度就上来了。


  • 雨花抬老汉
  • 铁杆吧友
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这周开始学 gtk3,打算一心一意钻tm3个月。学会了后把公司里那些人用 javafx、gt5 开发的各种玩意儿用这个重写,不知道能不能成。


  • 雨花抬老汉
  • 铁杆吧友
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
本来想直接学 gtk4,但是生产环境用的是老的 ubuntu16 和 Linx6,好像不带 4-dev,就先学gtk3了,希望没过时。


  • 雨花抬老汉
  • 铁杆吧友
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
文档不知道什么规范,有空没空的,加了 # 的用 VS code 保存了无法自动格式化,就不知道哪里加空格哪里不加,哪里到底加多少空格了。就没人维护一下啊,搞得人看不懂。


  • LuoYi
  • 小吧主
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
构建工具你可以尝试下xmake,我觉得还不错,比较容易快速入手,自己的小项目啥的可以用,实际生产嘛做好评估再决定是否使用


  • LuoYi
  • 小吧主
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
给你一个xmake的构建脚本

这里xmake会去调用pkg-config来获取编译需要的gtk3的头文件地址,链接库等信息


2025-07-15 16:30:04
广告
  • daleclack
  • 吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
构建工具可以试试meson,用来配置gtk的语法也不算难,至少比autotools的配置要容易多了


  • LuoYi
  • 小吧主
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这是我自己写的一个xmake插件,用来编译ui等资源文件的




  • LuoYi
  • 小吧主
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个是我上面的插件演示的文件目录,在项目根目录下的,然后在顶层xmake文件中加入add_plugindirs("xmake/plugin"),项目目录结构我晚些时候整理一下,另开贴或者就在楼下回复给你


  • 雨花抬老汉
  • 铁杆吧友
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
请教个问题,这个 ui必须和 c放一块儿吗?我想把它移到项目外面去,项目里只在assets留个备份,想把和C文件同目录的删了,但是删了后就运行不起来。


  • 雨花抬老汉
  • 铁杆吧友
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
换位置后效果如下


  • 雨花抬老汉
  • 铁杆吧友
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@daleclack @LUOYI 我还在入门呢。现在的脚本是这样的,你还有比这思路清晰的吗


2025-07-15 16:24:04
广告
  • 雨花抬老汉
  • 铁杆吧友
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个也能跑,就是提示里一堆 -i 看得眼疼。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 下一页 尾页
  • 33回复贴,共2页
  • ,跳到 页  
<<返回gtk吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示