Miscellaneous Widgets

本文详细介绍了GTK+中的多种基础控件,包括Label的文本格式化、Entry的文本输入与事件处理、SpinButton的简单描述、ProgressBar的使用、InfoBar的结构以及Tooltips的动态提示。同时涉及EntryCompletion和ScrolledWindow的特性及示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Label

  • Gtk::Label
  • 可以在Label构造函数中指定文本, or later with the set_text() or set_markup() methods.
  • 标签的宽度将自动调整。您可以通过在标签字符串中放置换行符(“\n”)来生成多行标签。
  • 可以使用 set_justify() 方法调整标签文本。该小部件还能够自动换行,可以使用 set_wrap() 激活
  • Gtk::Label 支持一些简单的格式,例如允许您将某些文本设置为粗体、彩色或Larger。 您可以使用Pango 标记语法 向 set_markup() 提供一个字符串来完成此操作。 例如,粗体文本删除线文本:set_markup(“<b>粗体文本</b>和<s>删除线文本</s>”)
    如果你想在其构造函数指定的文本使用这种语法, 请稍后对该Label调用set_use_markup(true); 默认不会去识别这种标记语法
  • 这里有一个例子:
    https://gnome.pages.gitlab.gnome.org/gtkmm-documentation/chapter-misc-widgets.html

Entry

  • Entry widgets allow the user to enter text. You can change the contents with the set_text() method, and read the current contents with the get_text() method.

  • 你可以使用
    m_Entry.signal_changed().connect(sigc::mem_fun(*this, &ExampleWindow::entry_activated));一有输入就触发事件

    你可以使用
    m_Entry.set_max_length(3);
    限制用户输入

    你可以使用
    m_Entry.signal_activate().connect(sigc::mem_fun(*this, &ExampleWindow::entry_activated));
    一回车就触发事件

  • 可以有图标,放在输入框内部左侧
    可以有进度条, 营造紧张氛围.也可以使进度条 pulse (跳动,抽搐)
    Glib::signal_timeout().connect(sigc::mem_fun(*this,&ExampleWindow::on_pulse),1000);

    bool on_pulse()
    {
        static double fraction = 0;
        m_Entry.set_progress_pulse_step(fraction += .1);
        if (fraction > 1)
        {
            fraction = 0;
        }
        m_Entry.progress_pulse();
        return true;
    };
    

    image

  • EntryCompletion
    输出时提示与已输入文本相关的条目,类似百度搜索栏的关键词提示
    image

  • 这里有实例:
    https://gnome.pages.gitlab.gnome.org/gtkmm-documentation/sec-text-entry.html

SpinButton

  • 不感兴趣
    image

ProgressBar

  • 没什么讲的,就是设置进度啥的
    image

InfoBar

  • Gtk::ScrolledWindow 框起来文本输入区域Gtk::TextView 如果内容太多出界也可以滚屏查看
  • InfoBar就是一个Label和一个按钮包含在一个box中组成的 然后默认这个box隐藏,你点Clear它就显示
  • 例子中还用什么web语法设置了背景颜色.
    image

Tooltips

  • set_tooltip_text()设置一个文本串作为一个提示可在任何部件。 Gtk::Tooltip 是使用更先进的工具提的使用,如显示图像也可以显示文本。
  • Glib::RefPtr<Gtk::TextBuffer> 可以包含一些格式化标签Tag来动态格式化这些文本
    Gtk::TextView 提供了与其对接的接口set_buffer()
    这就意味着即使是用户输入域的活动字符, 也能够动态设置格式化操作
  • 鼠标悬浮在设置了提示信息的widget上面就会提示信息
    image

ScrolledWindow

miscellaneous connectors是一种用于电子设备及电路连接的各种类型的连接器。它们通常用于将不同组件或设备连接在一起,以实现信号传输、电力传输或数据传输等功能。 miscellaneous connectors可以包括各种不同的连接类型,如插拔连接器、焊接连接器、压接连接器、绝缘子连接器等。每种连接器具有不同的特点和用途,可以根据具体的需求选择合适的连接器。 在电子设备的开发和制造过程中,miscellaneous connectors起着重要的作用。它们能够提供可靠的连接,保证信号传输的稳定性和质量。此外,miscellaneous connectors还能够方便地实现设备的组装和维修,提高生产效率和维护便捷性。 为了下载miscellaneous connectors,可以通过互联网搜索电子元件供应商的网站或在线市场,输入关键词"miscellaneous connectors"进行搜索。在搜索结果中会显示相关的连接器产品,用户可以根据需求进行选择和购买。在购买前,可以查看产品的详细信息和规格参数,确保所选连接器与实际需求相符合。 在下载miscellaneous connectors时,用户还需注意产品的质量和可靠性。可以查看供应商的信誉和口碑,选择有良好评价的供应商。此外,可以咨询专业人士或同行的建议,了解市场上较为常用和可信赖的连接器品牌和型号。这样能够更好地满足实际需求,确保连接器的性能和可靠性。 总之,miscellaneous connectors是电子设备及电路连接中重要的组成部分。通过合适的选择和购买,可以实现稳定可靠的信号传输和方便高效的设备组装和维修。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值