一、前言
项目需求,gtk之前运行在vxworks系统中,不想安装多余的系统,在window利用已安装的qt平台去实现gtk工程开发和修改
二、环境
qt5.12
window10
三、正文
首先,去MSYS2官网下载MSYS2环境并安装在D:\LenovoSoftstore\Install\gtk下,我安装的是64位的。
进入MSYS命令行执行:
pacman -S mingw-w64-x86_64-gtk3
pacman -S mingw-w64-x86_64-toolchain base-devel
时间较长,大概1个多小时之后完毕,之后就是利用现有的qt环境配置一下即可,如果没有qt的自行下载安装
按照下图配置gcc,g++,gdb和构建套件
gdb:
g++:
gcc:
构建套件:
导入如下工程,共两个文件,pro和cpp文件
代码如下:
gtkgtkgtk.pro:
TARGET = helloworld
TEMPLATE = app
CONFIG += link_pkgconfig
PKGCONFIG += gtk+-3.0
SOURCES += \
main.cpp
main.cpp
#include <gtk/gtk.h>
int main(int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *label;
//初始化GTK+库
gtk_init(&argc, &argv);
//创建主窗口
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
//设置窗口大小
gtk_widget_set_size_request(window,300,300);
//设置标题
gtk_window_set_title(GTK_WINDOW (window), "Hello World");
//当窗口即将被销毁,停止主GTK+循环
g_signal_connect(window, "destroy",G_CALLBACK (gtk_main_quit), NULL);
//创建一个"Hello World"标签
label = gtk_label_new("Hello, World");
//将标签加入到主窗口
gtk_container_add(GTK_CONTAINER (window), label);
//设置窗口中的所有元素可见
gtk_widget_show_all(window);
//开始主循环,让它在那里休息,直到应用程序关闭
gtk_main();
return 0;
}
之后项目配置要选择配置好的
最后运行,效果如下:
ok啦
四、结语
比安装一个专门开发gtk的环境方便很多