如何在Ubuntu上配置C++图形界面
导读:在 Ubuntu 上配置 C++ 图形界面 一 常见方案与选择建议 Qt:跨平台、生态完善、工具链成熟(Qt Creator、Qt Designer),适合中大型项目与原生外观。 GTK+ / gtkmm:Linux 桌面生态常用,GNO...
在 Ubuntu 上配置 C++ 图形界面
一 常见方案与选择建议
- Qt:跨平台、生态完善、工具链成熟(Qt Creator、Qt Designer),适合中大型项目与原生外观。
- GTK+ / gtkmm:Linux 桌面生态常用,GNOME 系应用广泛;C 接口为 GTK+,C++ 绑定为 gtkmm。
- FLTK:轻量级、依赖少、上手快,适合小型工具与教学示例。
- wxWidgets:更接近原生外观、跨平台一致,适合需要“像本地应用”的项目。
二 快速上手示例
-
GTK+ 3 C 示例
- 安装开发库:
sudo apt-get update & & sudo apt-get install libgtk-3-dev - 代码 main.cpp
#include < gtk/gtk.h> static void activate(GtkApplication* app, gpointer user_data) { GtkWidget* window = gtk_application_window_new(app); gtk_window_set_title(GTK_WINDOW(window), "Hello GTK+"); 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 = gtk_application_new("org.gtk.example", G_APPLICATION_FLAGS_NONE); g_signal_connect(app, "activate", G_CALLBACK(activate), NULL); int status = g_application_run(G_APPLICATION(app), argc, argv); g_object_unref(app); return status; } - 编译运行:
g++ \pkg-config --cflags gtk±3.0` -o myapp main.cpp `pkg-config --libs gtk±3.0` & & ./myapp
- 安装开发库:
-
gtkmm 3 C++ 示例
- 安装开发库:
sudo apt-get install libgtkmm-3.0-dev - 代码 main.cpp
#include < gtkmm.h> class App : public Gtk::Application { protected: int do_activate() override { auto win = new Gtk::Window; win-> set_title("Hello, Gtkmm!"); win-> set_default_size(200, 200); win-> set_child(Gtk::make_managed< Gtk::Label> ("Hello, World!")); win-> show(); return 0; } } ; int main(int argc, char** argv) { auto app = Gtk::Application::create(argc, argv, "org.gtkmm.example"); return app-> run(); } - 编译运行:
g++ \pkg-config --cflags gtkmm-3.0` -o myapp main.cpp `pkg-config --libs gtkmm-3.0` & & ./myapp
- 安装开发库:
-
FLTK 示例
- 安装开发库:
sudo apt-get install libfltk1.3-dev - 代码 main.cpp
#include < FL/Fl.H> #include < FL/Fl_Window.H> #include < FL/Fl_Button.H> void cb(Fl_Widget*, void*) { printf("Button clicked!\n"); } int main(int argc, char** argv) { Fl_Window win(300, 200, "Hello FLTK"); Fl_Button btn(100, 80, 100, 30, "Click Me"); btn.callback(cb); win.show(argc, argv); return Fl::run(); } - 编译运行:
g++ \pkg-config --cflags fltk` -o myapp main.cpp `pkg-config --libs fltk` & & ./myapp
- 安装开发库:
三 使用 Qt 的两种方式
- 方式 A(轻量,系统包)
- 安装:
sudo apt-get install qtbase5-dev qtchooser qtdeclarative5-dev - 构建:在项目目录执行
qmake -project qmake make ./your_project_name
- 安装:
- 方式 B(功能完整,官方安装器)
- 从 Qt 官网安装 Qt Creator 与所需 Qt 版本(含 Qt Widgets 模块)。
- 在 Qt Creator 中新建 Qt Widgets Application,用 Qt Designer 设计界面,直接构建与运行。
四 常见问题与排查
- 编译报错找不到头文件或链接失败:使用库对应的 pkg-config 参数(如 gtk±3.0、gtkmm-3.0、fltk)获取编译与链接标志;确保已安装对应的 -dev 包。
- 运行无界面或提示缺少平台插件(常见于 Qt):设置环境变量指向 Qt 插件目录,例如
- 若使用官方安装器:
export QT_QPA_PLATFORM_PLUGIN_PATH=$HOME/Qt/5.15.2/gcc_64/plugins/platforms - 若使用系统包:
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms
- 若使用官方安装器:
- 需要图形环境:在 SSH 或服务器环境中,启用 X11 转发(
ssh -X/-Y)或使用 虚拟帧缓冲(如 Xvfb)进行无头测试。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Ubuntu上配置C++图形界面
本文地址: https://pptw.com/jishu/760455.html
