当前位置: 首页 > news >正文

chatgpt: linux 下用纯c 编写一按钮,当按钮按下在一新窗口显示本机主目录下图片子目录中的1.jpg图片

tmd,这chatgpt太强大了。

从下面的c程序与python程序对比,纯c的ui编程也不是太复杂。

再说一次,要想学好编程必须要用上这个chatgpt工具。

在 Linux 环境下使用纯 C 语言编写一个按钮,当按钮按下时,在一个新窗口中显示本机主目录下图片子目录中的 1.jpg 图片。我们可以使用 GTK 库来实现这个功能。GTK 是一个用于创建图形用户界面的跨平台工具包。我们还需要使用 GdkPixbuf 库来处理图像。

以下是一个示例程序,它创建一个窗口,包含一个按钮。当按钮被按下时,会弹出一个新窗口并显示 1.jpg 图片。

首先,确保你的系统已经安装了 GTK 库和 GdkPixbuf 库。如果没有,可以使用以下命令安装:

sudo apt-get install libgtk-3-dev
sudo apt-get install libgdk-pixbuf2.0-dev
#include <gtk/gtk.h>// 回调函数,当按钮被按下时调用
static void on_button_clicked(GtkWidget *widget, gpointer data) {GtkWidget *image_window;GtkWidget *image;GdkPixbuf *pixbuf;gchar *filename = g_strdup_printf("%s/Pictures/1.jpg", g_get_home_dir());// 创建一个新窗口image_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_window_set_title(GTK_WINDOW(image_window), "Image Display");gtk_container_set_border_width(GTK_CONTAINER(image_window), 10);gtk_window_set_default_size(GTK_WINDOW(image_window), 800, 600);// 加载图像pixbuf = gdk_pixbuf_new_from_file(filename, NULL);if (!pixbuf) {g_print("Error loading file: %s\n", filename);return;}// 创建图像控件image = gtk_image_new_from_pixbuf(pixbuf);// 将图像控件添加到窗口中gtk_container_add(GTK_CONTAINER(image_window), image);// 显示所有窗口内的控件gtk_widget_show_all(image_window);// 释放资源g_object_unref(pixbuf);g_free(filename);
}int main(int argc, char *argv[]) {GtkWidget *window;GtkWidget *button;// 初始化 GTKgtk_init(&argc, &argv);// 创建一个新窗口window = gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_window_set_title(GTK_WINDOW(window), "Show Image Button");gtk_container_set_border_width(GTK_CONTAINER(window), 10);gtk_window_set_default_size(GTK_WINDOW(window), 200, 100);// 当窗口关闭时,退出 GTK 主循环g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);// 创建一个按钮,并设置按钮标签button = gtk_button_new_with_label("Show Image");// 当按钮被按下时,调用回调函数 on_button_clickedg_signal_connect(button, "clicked", G_CALLBACK(on_button_clicked), NULL);// 将按钮添加到窗口中gtk_container_add(GTK_CONTAINER(window), button);// 显示所有窗口内的控件gtk_widget_show_all(window);// 进入 GTK 主循环gtk_main();return 0;
}

保存上述代码到一个名为 show_image_button.c 的文件中,然后使用以下命令编译并运行该程序:

gcc show_image_button.c -o show_image_button `pkg-config --cflags --libs gtk+-3.0 gdk-pixbuf-2.0`
./show_image_button

当你运行该程序时,会出现一个窗口,包含一个标签为 "Show Image" 的按钮。点击按钮后,会弹出一个新窗口,并显示本机主目录下图片子目录中的 1.jpg 图片。如果图片文件不存在或路径不正确,请确保文件路径正确,并且图片文件位于指定位置。

 

 

 

http://www.lryc.cn/news/385140.html

相关文章:

  • SherlockChain:基于高级AI实现的智能合约安全分析框架
  • MySQL中Explain执行计划各参数的含义
  • Redis队列自研组件
  • ArchLinux挑战安装(ZFS、Wayland、KDE、xero)
  • 纯css写一个动态圣诞老人
  • 百度Apollo的PublicRoadPlanner一些移植Ros2-foxy的思路(持续更新)
  • Linux内存管理(七十三):cgroup v2 简介
  • c++习题01-ljc的暑期兼职
  • 有哪些方法可以恢复ios15不小心删除的照片?
  • nacos漏洞汇总
  • React Antd ProTable 如何设置类似于Excel的筛选框
  • 句法分析概述
  • 简单了解css的基本使用
  • 构建网络图 (JavaScript)
  • 洛谷U389682 最大公约数合并
  • video_多个m3u文件合并成一个m3u文件
  • x264 码率控制 MBtree 原理:i_propagate_cost计算过程
  • C语言基础笔记(全)
  • 通过注释语句,简化实体类的定义(省略get/set/toString的方法)
  • springboot框架使用Netty依赖中解码器的作用及实现详解
  • Python爬虫实战之爬取京东商品数据
  • 浅析Resource Quota中limits计算机制
  • 《数据结构与算法基础 by王卓老师》学习笔记——1.4算法与算法分析
  • 运维团队如何加强安全设备监控与日志管理
  • 仓库管理系统13--物资设置
  • 机器人控制系列教程之URDF文件语法介绍
  • Arathi Basin (AB) PVP15
  • Ubuntu/Linux SSH 端口转发
  • flask的locked_cached_property
  • OSI七层模型TCP/IP四层面试高频考点