在Ubuntu下进行C++图形界面开发,可选择Qt、GTKmm等库,以下是具体步骤及示例:
安装基础开发工具
sudo apt update
sudo apt install build-essential # 安装GCC、G++等编译工具
选择图形库并安装
sudo apt install qt5-default qtcreator # 安装Qt库和IDE
sudo apt install libgtkmm-3.0-dev
sudo apt install libfltk1.3-dev
.ui文件,代码中通过uic工具加载。#include <QApplication>
#include <QPushButton>
#include <QMainWindow>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QMainWindow window;
QPushButton *button = new QPushButton("Click Me", &window);
button->setGeometry(100, 100, 100, 30);
QObject::connect(button, &QPushButton::clicked, &app, &QApplication::quit);
window.show();
return app.exec();
}
qmake # 生成Makefile
make # 编译
./your_project_name # 运行
GTKmm:需手动编写界面代码,示例代码如下:
#include <gtkmm.h>
class MyApp : public Gtk::Window {
public:
MyApp() {
set_title("GTKmm Example");
set_default_size(200, 200);
add(Gtk::Label("Hello, GTKmm!"));
}
};
int main(int argc, char *argv[]) {
auto app = Gtk::Application::create(argc, argv, "org.gtkmm.example");
MyApp window;
return app->run(window);
}
编译时需链接gtkmm-3.0库:
g++ `pkg-config --cflags gtkmm-3.0` -o app main.cpp `pkg-config --libs gtkmm-3.0`
FLTK:适合轻量级图形,示例代码如下:
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Button.H>
void button_cb(Fl_Widget* w, void* data) {
printf("Button clicked!\n");
}
int main(int argc, char** argv) {
Fl_Window* window = new Fl_Window(300, 200, "FLTK Example");
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();
}
编译命令:
g++ `pkg-config --cflags fltk` -o fltk_app main.cpp `pkg-config --libs fltk`
通过以上步骤,可快速在Ubuntu下搭建C++图形界面开发环境并实现基础功能。