发布于2026-07-28 阅读(0)
扫一扫,手机访问
在CentOS系统上做C++图形界面开发,选择其实不少。从轻量级到全功能,从传统工具包到现代框架,各有各的用武之地。下面直接进入正题,聊聊几个常用的库,以及如何在CentOS上把它们跑起来。

GTK+在Linux生态中地位无需多言,它成熟、文档丰富,尤其适合那些需要与系统深度集成的桌面应用。要安装开发库,两条命令搞定:
sudo yum groupinstall "Development Tools"
sudo yum install gtk2-devel
一个简单的GTK+ C++示例,创建一个窗口并显示“Hello World”:
#include
static void activate(GtkApplication *app, gpointer user_data) {
GtkWidget *window;
window = gtk_application_window_new(app);
gtk_window_set_title(GTK_WINDOW(window), "Hello World");
gtk_window_set_default_size(GTK_WINDOW(window), 200, 200);
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
gtk_widget_show_all(window);
}
int main(int argc, char **argv) {
GtkApplication *app;
int status;
app = gtk_application_new("org.gtk.example", G_APPLICATION_FLAGS_NONE);
g_signal_connect(app, "activate", G_CALLBACK(activate), NULL);
status = g_application_run(G_APPLICATION(app), argc, argv);
g_object_unref(app);
return status;
}
编译时用pkg-config自动获取编译参数,命令如下:
g++ `pkg-config --cflags gtk+-2.0` -o myapp myapp.cpp `pkg-config --libs gtk+-2.0`
./myapp
注意这里用的是GTK+ 2.x版本,如果你需要GTK+ 3,将包名中的gtk2-devel换成gtk3-devel,编译参数对应改为gtk+-3.0即可。
Qt是跨平台GUI开发的标杆,它不仅有强大的UI组件,还内置了网络、数据库、多媒体等模块,适合大型项目。安装方式有两种:
Qt Creator是官方推荐的IDE,集成代码编辑器、编译器和调试器,对新手非常友好。创建项目时选择“Qt Widgets Application”模板,就能直接开始写C++代码。一个典型的Qt程序结构如下:
#include
#include
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QMainWindow window;
window.setWindowTitle("Hello World");
window.resize(200, 200);
window.show();
return app.exec();
}
编译时需要在CMake或qmake中配置Qt模块,也可以直接用命令行:
g++ -fPIC -o myapp myapp.cpp -I/usr/include/qt5 -lQt5Widgets -lQt5Core
./myapp
当然,实际项目中更推荐使用Qt Creator的构建系统,省心省力。
FLTK(Fast Light Toolkit)正如其名,追求小巧和快速。它不像GTK+或Qt那样重量级,但足以应付大多数桌面应用,尤其适合嵌入式或资源受限的环境。安装命令:
sudo yum install fltk-devel
一个简单的FLTK示例,包含一个按钮和回调:
#include
#include
#include
void button_cb(Fl_Widget* w, void* data) {
printf("Hello World!\n");
}
int main(int argc, char** argv) {
Fl_Window* window = new Fl_Window(300, 200, "Hello World!");
Fl_Button* button = new Fl_Button(100, 80, 100, 30, "Click Me");
button->callback(button_cb);
window->end();
window->show(argc, argv);
return Fl::run();
}
编译时只需链接FLTK库:
g++ -o myapp myapp.cpp -lfltk
./myapp
FLTK的代码风格更接近C,但C++包装也很完善。它的编译速度极快,生成的二进制文件也小,这是它最大的优势。
三个库各有千秋:GTK+和Qt都极其成熟,社区庞大,遇到问题更容易找到答案;Qt则提供了更现代的开发体验,从UI设计到后端逻辑一气呵成。FLTK虽然小众,但胜在轻量、速度快,适合快速原型或对性能敏感的场合。在动手之前,建议先了解每个库的典型应用场景和设计哲学,这比单纯比较功能列表更有价值。毕竟,工具用对了,开发效率翻倍。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8