gtkmm4文件浏览对话框

C和C++的面向对象专题(9)——Gtkmm的最佳实践 在跨平台的gui开发中,Qt一直是非常受欢迎的GUI开发框架,但Qt一个是依赖反射,需要特殊的预处理步骤,一个是库太过庞大,这就造成了一些不便的地方。今天介绍给大家的是Gtk库的C++绑定,Gtkmm,一个方便的跨平台GUI开发框架。 由于是C++的封装,GTK不再那么的难以使用,变得简洁优雅,而且效率非常高,编译也较QT快许多。 阅读详情

前言

  • gtkmm4 弃用了Gtk::FileChooserDialog 而引进了Gtk::FileDialog
  • 有几点需求和问题:
    • 我需要选择文件夹的对话框能连文件一起显示
    • gtkmm4 依然能使用 Gtk::FileChooserNative
    • 用本土的文件浏览对话框 还是 GTK 的
    • gtkmm3 使用Gtk::FileChooserDialog 能满足第一个需求吗

使用 Gtk::FileChooserNative

// 创建一个FileChooserNative
auto dialog = Gtk::FileChooserNative::create("Please choose a folder",
              *this,
              Gtk::FileChooser::Action::SELECT_FOLDER,
              "Choose",
              "Cancel");
//    dialog->set_transient_for(*this);
//
//    // 创建一个过滤器
auto filters = Gio::ListStore<Gtk::FileFilter>::create();
auto filter_text = Gtk::FileFilter::create();
filter_text->set_name("Any files");
//    filter_text->add_mime_type("any/any");
filter_text->add_pattern("*");
filters->append(filter_text);
dialog->add_filter(filter_text);
//    dialog->set_filter(filter_tex
// 运行对话框
dialog->show();
  • 意思是调用原生的对话框
    >.我是在winodws上开发Gtk应用,所以它提供windows风格的文件对话框
  • 但是如果行为是 Gtk::FileChooser::Action::SELECT_FOLDER 时, 上面的过滤器就不起效果, 对话框中也不会显示过滤下拉菜单选项, 也只显示文件夹

Gtk::FileDialog

  • 官网例子: https://gnome.pages.gitlab.gnome.org/gtkmm-documentation/sec-dialogs-filedialog.html
    官网例子很简单,一个文件选择(带过滤器), 一个文件夹选择(不显示文件,无过滤器,默认使用本土风格的文件对话框)
  • 我尝试在它select_folder(文件夹选择)的情况下给它加过滤器,希望它能显示文件, 于是发现了下面的 “特性”
    auto dialog = Gtk::FileDialog::create(
Linux下的Gtkmm编程实验 本文将介绍一些在Linux下使用Gtkmm进行编程的实验,并提供相应的源代码。在开始Gtkmm编程之前,我们需要确保在Linux系统中安装了Gtkmm库。通过这些实验,你可以开始在Linux下使用Gtkmm进行GUI编程。Gtkmm提供了丰富的功能和灵活的布局管理器,使得开发用户友好的应用程序变得更加简单和方便。编译和运行上述代码,将创建一个带有一个按钮的窗口。编译和运行上述代码,将创建一个带有两个按钮的窗口,这些按钮将按照网格布局排列。编译和运行上述代码,将创建一个大小为200x200的空白窗口。 阅读详情

相关推荐

GTK4 入门到实战

本文介绍GTK4作为主流Linux GUI工具包的发展历程与核心特性,涵盖其从GIMP项目诞生的自由软件理念、版本演进及跨平台支持。重点解析GTK4的架构(GDK/GSK/GLib等)、GObject对象系统、信号-回调机制与事件驱动模型,并以C语言为例,结合开发环境搭建与官方示例(gtk4-demo)指导实践,最终通过图片查看器与多标签编辑器项目实现完整应用开发。

OneSea 1390

gtkmm-plplot:利用PLplot的功能为Gtkmm提供科学的绘图库

Gtkmm-PL图 Gtkmm-PLplot是一个简单的绘图库,它将PLplot的功能带到了Gtkmm。 它是依靠Gtk :: DrawingArea小部件来完成的,该小部件的绘图信号使用PLplot的extcairo绘图设备在屏幕上生成出版物质量的绘图... 当前,该库正在大量开发中,但对于简单的二维图形来说应该已经有用了。 该API绝对不应该被认为是稳定的,并且会在没有警告的情况下进行更改... Gtkmm-PLplot已根据LGPLv3许可。 特征 使用两个std :: vector,std :: valarray和boost :: multi_array对象创建图。 拖动选择框进行放大。 支持二维图,极坐标图,带有或不带有阴影区域的轮廓图,三维线图 在单个画布上支持多个独立控制的图。 广泛使用libsigc ++信号 高度可扩展 要求 Gtkmm3 PLplot(至少为

gtkmm使用教程

更多资料请到www.gtkmm.org网站查找本资料为英文版,但是写的比中国人的英语容易理解多啦,哈哈适合初学者,可是我没有找到描述比较深入的资料....

Gtk4-tutorial:gtk4初学者教程

Gtk4初学者教程 本教程说明了如何使用Gtk4库编写C程序。 它侧重于初学者,因此其内容仅限于基本事物,例如小部件,GObject,信号,菜单和构建系统。 请参考以获取更多主题。 本教程正在开发中,不稳定。 即使使用C语言编写的示例已在gtk4版本4.0上进行了测试,但可能仍存在错误。 如果您在本教程和C示例中发现任何错误,错误或错误,请告诉我。 您可以将其发布到 。 本教程的最新版本位于。 您可以阅读而无需下载。

QMT与通达信代码实战:从预警到交易的自动化实现

本文详细介绍了如何利用QMT量化交易平台与通达信软件实现从预警到交易的全自动化。通过读取通达信预警生成的板块文件,QMT策略可自动执行买卖指令,有效解决手动交易滞后问题。文章提供了完整的代码框架、核心原理拆解及实盘注意事项,帮助投资者构建高效、纪律性的自动化交易系统。

ansible6ops的博客 648

杂货店商品数据集挖掘关联规则实验

(2)选择事务集中前100条事务,选择合适的支持度阈值,使用Apriori算法和FP-growth算法挖掘频繁项集(推荐使用mlxtend包的apriori和fpgrowth函数),并对比apriori算法和fpgrowth算法的时间复杂度;(比如用户1000在2015年3月15日对应的事务为{‘sausage’,’whole milk’,’semi-finished bread’,’yogurt’}),然后按照用户ID递增,时间递增的方式对事务进行排序;7. 排版工整自洽,图表标题准确(10分)

m0_62500122的博客 1441

思科模拟器-实验16:三层交换 VLAN 互访配置

【实验内容】 (1)按实验线路连接图进行连接。按照实验线路连接图分别配置各台计算机IP 地 址。 (2) 按照实验线路连接图,在SW1和SW2上分别完成VLAN配置,并在VLAN中添加相应的端口成员,同时配置Trunk端口。同时测试各计算机之间是否可以相互ping 通。 Switch>en Switch#config t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#vlan 10 Switc

weixin_44270194的博客 4727

数据中心机房设备标签规范建议

机房的维护工作中,标识管理是极其重要的一部分,从基本的线缆上跳接信息的标识,到设备、机柜标识规范的实施,不同程度的体现了标识管理的重要作用。本规范适用于机房主设备、线缆、机柜(含PDU插排)、仪器仪表、动力配套设备(各类空调、消防设备、配电柜、UPS等设备)、网络口、电源插座口的标签、标识规定。动力设备的设备编号、设备名称、生产厂商及厂商技术支持热线、设备型号、设备序列号、设备使用部门、设备责任人、设备启用时间及设备保修年限、条形码。各类标签、标识可根据设备和机柜的尺寸、大小进行调整。

有地气的强弱电小圈子 3523

LVGL 实战:倒计时翻页钟

环境:LVGL 9.x + PC 模拟器。每个数字做成上下两半的卡片,秒变时用绕中缝翻页:上半旧页折叠下去、下半新页展开上来,配合阴影遮罩做出立体感。从 02:00 倒计时到 0,闪一下再重置。界面文案用英文(默认字体无中文)。

摸鱼专家 209

Linux内核4.14版本——drm框架分析(1)——drm简介

本文介绍了DRM架构的发展历史、驱动框架以及简单示例,旨在帮助读者了解DRM架构的形成、功能流程实现。

phmatthaus的专栏 2551

第六节 LLaVA模型数据处理源码解读(input_ids/labels/attention_mask/image,上篇)

本篇文章直接介绍llava模型数据加工部分,整体结构说明llava多模态模型输入数据格式,其中包含input_ids/labels/attention_mask与image格式,并给出对应代码位置与整个数据加工流程。最重要,通过debug给出数据解释与代码解读,也通过一个真实数据给出模型输入格式说明。当你阅读完此篇文章,绝对透彻理解llava数据加工过程与内容。显然,一篇博客是无法呈现整个数据细节,我将继续下篇博客呈现数据细节处理。result = input.ne(3) # torch.ne函数调用。

weixin_38252409的博客 3193

【YOLO26创新改进】TGRS 2026 | Transformer变体改进篇 | 使用CGTA曲率引导令牌注意力,改善结构与纹理的整体协调,适合遥感小目标检测、旋转目标检测、实例分割任务

本文在YOLO26目标检测模型中引入CGTA曲率引导令牌注意力模块,依据曲率显著性与特征可靠性,从高分辨率特征图中筛选少量关键令牌,再让全部位置与这些代表性特征进行全局交互,从而以较低计算和显存开销建立远距离目标、背景及跨尺度结构之间的联系;该模块能够重点强化车辆、舰船、飞机、建筑等目标的边缘、转角和弯曲轮廓,改善小目标、密集目标及旋转目标的特征完整性与定位稳定性,并通过可靠性门控抑制噪声和伪边缘,通过标准注意力与曲率注意力融合避免平坦区域被过度增强。

AI魔改博士-中大博士 46

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: 正则表达式 regex
下一篇: Ubuntu 命令与脚本
Computer_Tech
博客等级 码龄3年 573粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值