温馨提示×

Linux C++怎么配置界面

小樊
39
2026-08-27 07:18:06
栏目: 编程语言

在 Linux 下用 C++ 做界面(GUI),常见做法有几种,取决于你是桌面应用、嵌入式、还是偏底层。下面按“从主流到小众”给你一个清晰的选择和配置指南。


一、最常用方案(推荐)

✅ 1. Qt(最主流,强烈推荐)

适合:桌面应用、工业软件、跨平台

特点

  • C++ 原生
  • 跨平台(Linux / Windows / macOS)
  • 界面美观、功能强大
  • 有可视化设计工具(Qt Designer)

安装(Ubuntu / Debian)

sudo apt update
sudo apt install qtbase5-dev qtcreator

最小示例

#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);
    QLabel label("Hello Qt!");
    label.show();
    return app.exec();
}

编译

g++ main.cpp -o app `pkg-config --cflags --libs Qt5Widgets`

✅ 建议直接用 Qt Creator,自动配置,不用手写编译命令


✅ 2. GTK(Linux 原生风格)

适合:Linux 原生应用、GNOME 生态

安装

sudo apt install libgtk-3-dev

示例(GTK3)

#include <gtk/gtk.h>

int main(int argc, char *argv[]) {
    gtk_init(&argc, &argv);

    GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title(GTK_WINDOW(window), "Hello GTK");
    gtk_window_set_default_size(GTK_WINDOW(window), 400, 300);

    g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
    gtk_widget_show_all(window);
    gtk_main();

    return 0;
}

编译

g++ main.cpp -o app `pkg-config --cflags --libs gtk+-3.0`

二、轻量级 / 快速方案

3. Dear ImGui(即时模式 GUI)

适合:工具、调试界面、嵌入式、游戏工具

特点

  • 不需要“窗口系统”
  • 非常轻量
  • 常配合 SDL / GLFW

示例(概念)

ImGui::Begin("Window");
ImGui::Text("Hello ImGui");
ImGui::End();

适合你不想折腾布局系统的情况


4. FLTK

适合:轻量 GUI、老项目

sudo apt install libfltk1.3-dev

三、不推荐但存在的方案

方案 说明
wxWidgets 跨平台,但配置复杂
SDL + 自己画 UI 太底层
X11 直接写 非常痛苦,不建议

四、如何选择?(快速决策)

需求 推荐
正式桌面软件 ✅ Qt
Linux 原生风格 ✅ GTK
工具 / 调试界面 ✅ ImGui
嵌入式 Qt / ImGui
学习 GUI 原理 GTK / FLTK

五、开发环境建议

推荐组合

  • 编辑器:VS Code / CLion
  • 构建工具:CMake
  • IDE:Qt Creator(Qt 项目首选)

CMake + Qt 示例

find_package(Qt5 REQUIRED Widgets)
add_executable(app main.cpp)
target_link_libraries(app Qt5::Widgets)

六、你可以继续问我

你可以直接说:

  • ✅ “我想做 Linux 桌面应用
  • ✅ “我只想 简单窗口 + 按钮
  • ✅ “我要 跨平台
  • ✅ “我是 嵌入式 / 无桌面环境

我可以给你完整项目模板 + 示例代码

0