发布于2026-07-05 阅读(0)
扫一扫,手机访问
在Ubuntu上用C++写图形界面,很多人一上来就卡住了——框架那么多,到底选哪个?别急,先理清楚几个主流方案,再根据你的项目体量下手,其实没那么复杂。

先说说Qt。跨平台能力那叫一个强,生态也完善,工具链成熟,像Qt Creator和Qt Designer用起来很顺手,适合中大型项目,还能做出原生外观。如果你要在多个平台上跑,Qt基本是首选。
GTK和它的C++绑定gtkmm,在Linux桌面生态里就像老大哥一样,GNOME就是它的代表作。gtkmm的API比较现代,写起来比纯C的GTK舒服不少。FLTK就轻巧多了,依赖少、上手快,适合做小工具或者教学演示,简直是一股清流。wxWidgets也是跨平台的,追求原生外观,API风格贴近MFC/Wx,老手可能会喜欢。这几个方案在Ubuntu上都有很好的支持,看你的项目体量和目标平台,选一个就行。
别光说不练,直接上手试试。这里给几个主流框架的入门示范。
先装库:
sudo apt update && sudo apt install libgtk-3-dev
然后编译运行:
g++ `pkg-config --cflags gtk+-3.0` -o myapp main.cpp `pkg-config --libs gtk+-3.0`
./myapp
安装开发库:
sudo apt install libgtkmm-3.0-dev
编译命令类似:
g++ `pkg-config --cflags gtkmm-3.0` -o myapp main.cpp `pkg-config --libs gtkmm-3.0`
./myapp
安装一套工具:
sudo apt install qt5-default qtcreator
可以走图形化路线——用Qt Creator新建Qt Widgets Application,设计器拖拽,一键运行。也可以命令行搞定:
qmake -project
qmake
make
./your_project_name
轻量级选手,安装也简单:
sudo apt install libfltk1.3-dev
编译:
g++ `pkg-config --cflags fltk` -o myapp main.cpp `pkg-config --libs fltk`
./myapp
安装库:
sudo apt install libwxgtk3.0-dev
用它的话,建议用CMake或手写Makefile来构建,wxWidgets自己提供一套配置和工具链支持。
如果你不想手动配置,Qt Creator会省很多事。装好IDE,新建项目选Qt Widgets Application,它会自动生成.pro文件和基本类。界面用Qt Designer拖拽控件就好,信号槽也能可视化连接,简直是懒人福音。构建和运行一步到位,也可以在项目目录执行qmake && make,然后直接跑生成的可执行文件。
开发过程中难免踩坑,这里列几个高频问题。
编译报错找不到头文件或链接失败? 这通常是库的路径没配好。用对应库的pkg-config参数(比如gtk+-3.0、gtkmm-3.0、fltk)就能自动获取编译和链接标志,前提是确认装了对应的-dev包。
运行无界面或提示缺少平台插件? Qt程序需要正确部署平台插件,比如xcb。开发机上一般已经就绪,但打包发布时得按Qt的部署文档来处理插件和依赖,不然换个环境就可能翻车。
桌面环境差异? GTK和Qt在不同桌面(比如GNOME和KDE)下,外观和字体渲染会有些差异。可以通过主题和样式表来统一,不算大问题。
服务器或无头环境? 没有图形会话自然没法显示GUI。可以用Xvfb虚拟帧缓冲来模拟,或者干脆改用命令行/Web方案做调试和测试,灵活应对。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8