首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在 Gtk::Entry 小部件中强制输入数字

好的,我将尝试回答您的问题。

在 Gtk::Entry 小部件中强制输入数字,可以使用 Gtk::Entry 类的 set_text_column 方法来指定输入框中的文本应该存储在哪个列中。默认情况下,输入框中的文本将存储在 text 列中,因此如果您想要强制输入数字,可以将 text_column 设置为 0

例如:

代码语言:txt
复制
Gtk::Entry *entry = ...;
entry->set_text_column(0);

这将使 entry 小部件只接受数字输入。

除了 set_text_column 方法之外,您还可以使用 signal 方法来捕获 Entry 小部件中的 key_press_event 事件,并检查事件对象的 keyval 属性是否等于 GDK_KEY_digit。如果是,则可以在事件处理函数中强制输入数字。

例如:

代码语言:txt
复制
class MyClass : public Gtk::Window {
public:
    MyClass() {
        // 创建一个 Gtk::Entry 小部件
        entry = Gtk::Entry::create();

        // 为 Gtk::Entry 小部件注册一个键值绑定
        entry->signal_key_press_event().connect(
            sigc::mem_fun(this, &MyClass::on_key_press), false);

        // ...
    }

private:
    void on_key_press(GdkEventKey* event) {
        // 检查事件对象的 `keyval` 属性是否等于 `GDK_KEY_digit`
        if (event->keyval == GDK_KEY_digit) {
            // 在事件处理函数中强制输入数字
            entry->set_text(String::fromCharCode(event->keyval));
        }
    }

    Gtk::Entry *entry;
};

在这个例子中,我们为 entry 小部件注册了一个 key_press_event 信号,并在信号处理函数中检查事件对象的 keyval 属性是否等于 GDK_KEY_digit。如果是,则可以在事件处理函数中强制输入数字。

希望这个答案能够解决您的问题。如果您还有其他问题,请随时问我。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Excel技巧46: 单元格输入连续数字的6种方法

很多时候,我们都需要在工作表输入连续的数字,特别是用作数据唯一标识时。下面,我们将介绍6种输入连续数字的方法。 方法1:使用鼠标拖放填充 1.在上下相邻的两个单元格中分别输入数字1和2。...3.弹出的“序列”对话框,选择“序列产生在”下的“列”选项,“步长值”输出起始值,本例为“1”,“终止值”输入系列值结束的数值,本例为“1000”,单击“确定”,结果如下图2所示。...图2 方法3:使用ROW函数 1.单元格输入公式:=ROW()。 2.然后向下拉至想要放置连续数值的单元格,如下图3所示。 ?...图3 注意,如果不是从第1行开始,但是数字要从1开始,可以公式减去相应的数字。 方法4:在前一个单元格的数值加1 1.起始单元格输入起始数值,示例为1。...图5 方法6:使用表 可以使用表来自动插入数字。首先在要输入连续数字的前两个单元格输入公式,当在表添加数据行时,会自动添加相应的数字,如下图6所示。 ? 图6

7.5K30

Excel技巧54: 同时多个工作表输入数据

此时,可以使用Excel的“组”功能,当在一个工作表输入数据时,这些数据也被同时输入到其它成组的工作表。 如下图1所示,将工作表成组后,一个工作表输入的数据将同时输入到其它工作表。 ?...图1 要成组工作表,先按住Ctrl键,然后工作簿左下角单击要加入组的工作表名称,此时工作簿标题中会出现“名称+组”,如下图2所示。 ?...图2 注意,如果一直保持工作表“组合”状态,可能会不小心工作表输入其它工作表不想要的内容。因此,要及时解除组合状态。...单击除用于输入内容的工作表外的任意工作表名称,则可解除工作表组合;或者工作表名称标签单击右键,快捷菜单中选取“取消组合工作表”命令。

3.2K20
  • VI命令----用于检索

    1、vi 模式切换: Commond模式: 打开文件的默认模式,用ESC建切换到此模式 Insert模式: 按键:i 光标前输入 a 光标后输入 o 光标下一行输入。...命令模式下:输入:进入文件保存操作模式:输入:wq 保存并退出: 具体如下:   :w 保存文件但不退出vi   :w file 将修改另外保存到file,不退出vi   :w!...强制保存,不推出vi   :wq 保存文件并退出vi   :wq! 强制保存文件,并退出vi   q: 不保存文件,退出vi   :q! 不保存文件,强制退出vi   :e!...2.安装ibus框架 sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4  启动ibus框架:im-config -s...添加输入法:找到Text Entry,点击左下角的加号,把自己要用的输入法添加进来,方便以后切换。

    2.2K40

    Python GTK+ 3 创建一个框

    关于 GTK+ 3 库 它是一个跨平台的图形用户界面 (GUI) 工具包。桌面应用程序是主要用例,它也支持升级。提供多种编程语言,包括 Python。 由多个小部件(按钮、标签和输入字段)提供支持。...盒子布局就是这样一个容器,它允许小部件水平或垂直堆叠,从而产生多功能和动态的用户界面设计。要在 Python 制作框布局,请导入模块并配置 GTK+ 库。... __init__ 方法,初始化窗口并设置其标题、默认大小,并将“destroy”信号连接到Gtk.main_quit以处理窗口关闭。...再创建 2 个 Gtk.Label 小部件,label3 和 label4,并将它们垂直打包在 vbox 。 创建一个名为 window 的自定义框实例。...Gtk.main() 启动主 GTK 循环,该循环处理用户交互和事件。 输出具有一个自定义窗口,其中水平 Gtk 标签以框样式分组。垂直 GTK 框,并排有两个标签。两个标签分层一个框的顶部。

    31010

    如何在Linux桌面下使用PyGObject创建GUI应用程序

    Linux创建GUI应用程序 - 第1部分 今天,我们要开始了一系列关于创建GUI(图形用户界面)使用GTK +库和PyGobject语言Linux桌面应用下,该系列将包括以下内容: 第1部分 :如何创建...的/ usr / bin/ Python的 :对Python解释器(2.7版本大多数情况下)的默认路径,这条线必须在每个Python文件的第一行。...,运行: # yum install glade 您下载并安装该程序,并运行后,你会看到左边的可用GTK构件,以创建一个新的窗口,单击“ 窗口 ”,窗口小部件。...添加小部件 你会发现,按键ID为“Button1的 ”,现在指的是信号标签右侧工具栏,并搜索“ 点击 ”信号,并在其下输入“button1_clicked”。...窗口= builder.get_object(“窗口1”):在这里我们称之为从.glade文件的“窗口1”的对象,以便在以后节目中表现出来。 就是这样! 您已经Linux下成功创建了第一个程序!

    3.7K30

    Zetcode GUI 教程

    Qt5 的容器 Qt5 处理文件和目录 Qt5 的第一个程序 Qt5 中的菜单和工具栏 Qt5 的布局管理 Qt5 的事件和信号 Qt5 小部件 Qt5 小部件 II Qt5 的绘图 Qt5...的布局管理 PySide 的事件和信号 PySide 的对话框 PySide 小部件 PySide 小部件 II PySide 拖放 PySide 绘图 PySide 的自定义小部件...Java Gnome 的小部件 Java Gnome 的小部件 II Java Gnome 的高级小部件 Java Gnome 的对话框 Java Gnome 的 Pango Java...小部件 Ruby GTK 教程 Ruby GTK 简介 Ruby GTK 的布局管理 Ruby GTK 的小部件 Ruby GTK 中的菜单和工具栏 Ruby GTK 的对话框 Ruby GTK...GTK# 的事件 GTK# 的小部件 GTK 的小部件 II GTK# 的高级小部件 GTK# 的对话框 Pango GTK# 的 Cario 绘图 GTK# 的 Cario 绘图 II

    2.5K40

    目录

    目录 使用Tkinter构建你的第一个Python GUI应用程序 添加小部件 测验 使用小部件 使用标签小部件显示文本和图像 显示带有按钮小部件的可点击按钮 通过条目小部件获取用户输入 通过文本小部件获取多行用户输入...以下是一些常用的小部件: 小部件类描述Label用于屏幕上显示文本的小部件Button一个可以包含文本并在单击时可以执行操作的按钮Entry文本输入部件,仅允许单行文本Text文本输入部件,允许多行文本输入...它显示一个的文本框,用户可以在其中输入一些文本。创建和样式化Entry窗口小部件的工作原理和Label、Button窗口小部件非常相似。...用鼠标Entry部件内单击并键入"Real Python": 现在,你已经Entry部件输入了一些文本,但是该文本尚未传递到你的程序。...输入单词"Hello"。然后按Enter并"World"第二行上键入。窗口现在应如下所示: 就像Entry部件一样,可以Text使用来从小部件检索文本.get()。

    29.7K20

    用wxPython打造Python图形界面(上)

    这是一个很好的应用程序,演示了wxPython包含的绝大多数小部件。演示允许开发人员一个选项卡查看代码,并在第二个选项卡运行代码。...对于最流行的Linux版本,你可以附带GTK2和GTK3版本的Extras Linux部分找到一些Python工具。...GUI的定义 正如在介绍中提到的,图形用户界面(GUI)是屏幕上绘制的供用户交互的界面。 用户界面有一些共同的组件: 主窗口 菜单 工具栏 按钮 文本输入 标签 所有这些项目通常称为小部件。...大多数GUI应用程序允许用户输入一些文本并按下按钮。...本例,你希望文本控件和按钮位于面板顶部,因此它是你指定的父控件。 你还需要告诉wxPython将小部件放置何处,这可以通过pos参数传入一个位置来实现。

    4.9K40

    Python|GUI编程Entry部件详解

    一、Entry部件基本介绍 Entry部件是Tkinter的基本小部件,用于从应用程序的用户获取输入,即文本字符串。这个小部件允许用户输入一行文本。...如果用户输入的字符串比小部件的可用显示空间长,则将滚动内容。这意味着不能看到字符串的整体。箭头键可用于移动到字符串的不可见部分。如果要输入多行文本,则必须使用文本小部件。...图1.1 最基本的Entry组件 二、用Entry制作的输入框 好的,我们已经创建了输入字段,这样程序的用户就可以输入一些数据。但是我们的程序如何访问这些数据呢?我们如何阅读条目的内容?...我们将函数show_entry_fields()绑定到一个自定的show按钮,该函数对entry对象使用get()方法。所以,每次点击这个按钮,输入字段的内容就会打印我们调用脚本的终端上。...,我会根据读者的要求来更新更多和tkinter相关的内容,有读者想看什么有趣的程序都可以留言告诉笔者,每周六就会更新本人的原创文章。

    1.8K40

    记一次Fcitx5的安装

    配置 我就是配置Fcitx5的时候吃了大亏,所以要仔细看清楚配置步骤,首先需要确定你的图形管理是X11的还是Wayland的,确定的方法可以控制台输入 loginctl show-session...由此,会有两种配置方法,两者由自己的情况自己选择其中的一种 X11 X11需要配置的文件有~/.xprofile和~/.xinitrc ~/.xprofile添加 export GTK_IM_MODULE...上述内容需要添加在exec $(get_session)之前 Wayland Wayland则需要编辑的文件是~/.pam_environment ~/.pam_environment添加 GTK_IM_MODULE...下配置开机不能启动Fcitx5(少数异常情况)请自行添加Fcitx5的开机启动 一些问题的解决 设置输入法 上面其实已经安装了Fcitx5的图形设置界面了,其位置系统设置->区域设置->输入法里面...主题不好看 如果觉得下载的主题配置不好看,KDE下可以直接在某个面板添加小部件输入法面板即可自动使用当前的KDE主题风格,而且可以覆盖设置字体大小和候选字显示方向,很舒服 具体可以看我的效果哈哈哈。

    5.1K40

    ubuntu下sublime text3无法输入中文的解决办法

    因为写前端代码我现在离不了sublime, 不曾想在ubuntu中装好sublime后竟然无法输入中文,吓哭… 我的电脑环境 ubuntu 14.04 LTS sublime text 3 搜拘输入法...sudo apt-get install libgtk2.0-dev 编译共享内库 Terminal中进入上述代码的保存位置 gcc -shared -o libsublime-imfix.so...bin/sh LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "$@" 此时,命令执行...subl 打开sublime将可以搜狗输入法的中文输入 修改文件sublime_text.desktop的内容, 以使鼠标打开的方式也可正常使用中文输入 sudo gedit /usr/share/applications.../sublime_text.desktop 将[Desktop Entry]的字符串 Exec=/opt/sublime_text/sublime_text %F 修改为 Exec=bash -c "

    43820

    Linux系统运行WinForm程序

    下面我们看看一个简单的WinForm程序Redhat的运行效果: 显示效果不错,跟在Windows下面的VS2008的设计界面一致,但有一个致命Bug,就是窗体无法接收键盘事件,尽管使用鼠标没有任何问题...理论上,Redhat也可以运行一个mono+Gtk#的窗体界面,无赖我的Redhat先是装的mono 2.8.1,我当前使用的monodeveloper开发的Gtk程序必须使用mono 2.8.2的库...,运行MonoWinForm程序,除了汉字无法显示,没有Redhat的无法输入文字的问题 切换OpenSUSE系统到简体中文环境,再次运行MonoWinForm程序,虽然可以显示出汉字,但是文本框和窗体大小显示严重有问题...,整个窗体都变了形,输入文字反应奇慢,不过没有RedHat窗体失去响应的问题。...3,OpenSUSE上运行Gtk#应用程序 按照mono官方的说法,要想开发跨平台的窗体应用程序,窗体的界面开发应该选择Gtk#,而不是Windows GUI。

    6.5K70

    Ubuntu 16.04 LTS 的 Sublime Text 3 安装及中文配置

    笔者以前也写过 Ubuntu 上安装搜狗输入法的教程,地址如下: 《Ubuntu 14.04 LTS 安装配置搜狗拼音输入法》 《Ubuntu 14.04 LTS 搜狗拼音输入法不能使用的情况...sublime_imfix.c,指令如下: cd gedit sublime_imfix.c sublime_imfix.c 输入如下代码: #include <gtk/gtkimcontext.h...=0) gtk_im_context_focus_in(context); } (3) 生成共享库 .so 文件 ~ 路径下用 gcc 指令生成共享库 libsublime-imfix.so...配置共享库文件 (1) 修改 /usr/bin/subl 此时 /usr/bin 路径创造脚本文件,令运行脚本后打开 Sublime Text 3。...所在路径并修改文件,指令如下(以笔者的工作环境为例,具体需要根据实际情况进行改正): sudo gedit ~/kit/sublime_text_3/sublime_text.desktop 将 [Desktop Entry

    1.3K20
    领券