如何在 PyGTK 中设置默认按钮?

2024-01-03

我有一个非常简单的窗口,其中有 2 个按钮 - 一个用于取消,一个用于应用。如何将应用按钮设置为默认按钮? (当我按下回车键时,“应用”按钮被按下)

但是,我想将焦点设置到第一个输入小部件(我不能在按钮上使用grab_focus())

有什么建议么?

Edit: After wuub的答案它在视觉上效果很好。但是,当我按下不同小部件中的按钮时,它不会运行默认按钮的回调。

示例代码:

import os, sys, pygtk, gtk 

def run(button, window):
    dialog = gtk.MessageDialog(window, gtk.DIALOG_MODAL, gtk.MESSAGE_INFO, gtk.BUTTONS_OK, "OK")
    dialog.run()
    dialog.destroy()

window = gtk.Window()
window.connect("destroy", gtk.main_quit)

vbox = gtk.VBox(spacing = 10)
entry = gtk.Entry()
vbox.pack_start(entry)

button = gtk.Button(stock = gtk.STOCK_SAVE)
button.connect("clicked", run, window)
button.set_flags(gtk.CAN_DEFAULT)
window.set_default(button)
vbox.pack_start(button)

window.add(vbox)
window.show_all()
gtk.main()

EDIT2:每个可以激活默认小部件的输入都必须运行

widget.set_activates_default(True)

http://www.pygtk.org/docs/pygtk/class-gtkdialog.html#method-gtkdialog--set-default-response http://www.pygtk.org/docs/pygtk/class-gtkdialog.html#method-gtkdialog--set-default-response

http://www.pygtk.org/docs/pygtk/class-gtkwindow.html#method-gtkwindow--set-default http://www.pygtk.org/docs/pygtk/class-gtkwindow.html#method-gtkwindow--set-default

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PyGTK 中设置默认按钮? 的相关文章

  • API 端点的 Django 子域配置

    我已经建立了一个 Django 项目 它使用django rest framework提供一些 ReST 功能 网站和其他功能都运行良好 然而有一个小问题 我需要我的 API 端点指向一个不同的子域 例如 当用户访问该网站时 他 她可以根据
  • KFold 和 ShuffleSplit CV 有什么区别?

    看起来 KFold 每次迭代对象时都会生成相同的值 而 Shuffle Split 每次都会生成不同的索引 它是否正确 如果是这样 其中一个相对于另一个有什么用处 cv cross validation KFold 10 n folds 2
  • 底图上的子图

    我有一张英国地图和 121 个地点 每个地点有 3 个值 我想绘制 121 个位置中每个位置的三个值的小条形图 目前 这些值绘制为markersize属性 看起来像这样 密集恐惧症情节 https i stack imgur com 5fv
  • 为什么 tkinter / window.update 在我的程序中随着时间的推移变得更慢?

    我发现当我调用 window update 时 当向窗口写入的内容较少时 它的运行速度会更快 但后来 当我向窗口写入更多元素时 window update 需要更长的时间 请参阅下面的我的代码 您可以看到它在更新窗口之前一次向屏幕 100
  • 子进程改变目录

    我想在子目录 超级目录中执行脚本 我需要首先进入该子目录 超级目录 我无法得到subprocess进入我的子目录 tducin localhost Projekty tests ve python Python 2 7 4 default
  • Python 遍历目录树的方法是什么?

    我觉得分配文件和文件夹并执行 item 部分有点黑客 有什么建议么 我正在使用Python 3 2 from os import from os path import def dir contents path contents list
  • Python的reduce()短路了吗?

    If I do result reduce operator and False 1000 得到第一个结果后它会停止吗 自从False anything False 相似地 result reduce operator or True 10
  • 如何找到列表S的所有分区为k个子集(可以为空)?

    我有一个唯一元素列表 比方说 1 2 我想将其拆分为 k 2 个子列表 现在我想要所有可能的子列表 1 2 1 2 2 1 1 2 我想分成 1 1 2 我怎样才能用 Python 3 做到这一点 更新 我的目标是获取 N 个唯一数字列表的
  • 在Python中创建一个新表

    我正在尝试从数控机床中提取数据 事件每毫秒发生一次 我需要过滤掉一些用管道 分隔的变量分隔符 PuTTy exe 程序生成的日志文件 我尝试阅读熊猫 但列不在同一位置 df pd read table data log sep 日志文件的一
  • 为 Networkx 图添加标题?

    我希望我的代码创建一个带有标题的图 使用下面的代码 可以创建绘图 但没有标题 有人可以告诉我我做错了什么吗 import pandas as pd import networkx as nx from networkx algorithms
  • str.translate 给出 TypeError - Translate 采用一个参数(给定 2 个参数),在 Python 2 中工作

    我有以下代码 import nltk os json csv string cPickle from scipy stats import scoreatpercentile lmtzr nltk stem wordnet WordNetL
  • Django - 电子邮件发送两次

    每当我使用如下所示的电子邮件设置从views py调用下面的方法时 电子邮件的两份副本都会发送给收件人 并且我收到如下所示的错误 def sendEmailBasic request msg EmailMessage Request Cal
  • Python 视频框架

    我正在寻找一个 Python 框架 它将使我能够播放视频并在该视频上绘图 用于标记目的 我尝试过 Pyglet 但这似乎效果不是特别好 在现有视频上绘图时 会出现闪烁 即使使用双缓冲和所有这些好东西 而且似乎没有办法在每帧回调期间获取视频中
  • Python正则表达式从字符串中获取浮点数

    我正在使用正则表达式来解析字符串中的浮点数 re findall a zA Z d d t 是我使用的代码 这段代码有问题 如果数字和任何字符之间没有空格 则不会解析该数字 例如 0 1 2 3 4 5 6 7 8 9 的预期输出为 0 1
  • Spark中的count和collect函数抛出IllegalArgumentException

    当我使用时抛出此异常时 我尝试在本地 Spark 上加载一个小数据集count 在 PySpark 中 take 似乎有效 我试图搜索这个问题 但没有找到原因 看来RDD的分区有问题 有任何想法吗 先感谢您 sc stop sc Spark
  • 如何强制 Y 轴仅使用整数

    我正在使用 matplotlib pyplot 模块绘制直方图 我想知道如何强制 y 轴标签仅显示整数 例如 0 1 2 3 等 而不显示小数 例如 0 0 5 1 1 5 2 等 我正在查看指导说明并怀疑答案就在附近matplotlib
  • Django 接受 AM/PM 作为表单输入

    我试图弄清楚如何使用 DateTime 字段在 Django 中接受 am pm 作为时间格式 但我遇到了一些麻烦 我尝试在 forms py 文件中这样设置 pickup date time from DateTimeField inpu
  • Spyder 如何在同一线程的后台运行 asyncio 事件循环(或者确实如此?)

    我已经研究 asyncio 模块 功能几天了 因为我想将它用于我的应用程序的 IO 绑定部分 并且我认为我现在对它的工作原理有一个合理的理解 或者在至少我认为我已经理解了以下内容 任一时刻 任一线程中只能运行一个异步事件循环 一旦一切都设置
  • 为什么 bot.get_channel() 会产生 NoneType?

    我正在制作一个 Discord 机器人来处理公告命令 当使用该命令时 我希望机器人在特定通道中发送一条消息 并向用户发送一条消息以表明该命令已发送 但是 我无法将消息发送到频道 我尝试了这段代码 import discord import
  • 如何正确消除字典中的元素直到只剩下一个字符串

    我真的需要这方面的帮助 def get winner dict winner new dict for winner in dict winner first letter winner 0 value dict winner winner

随机推荐

  • Python 换行符 \n 在 jupyter 笔记本中不起作用

    我试图在我的 Jupyter Notebook 中整齐地显示 postgreSQL 表的元组 但是换行符 n 转义字符在这里似乎不起作用 它适用于我的 python 脚本 在 jupyter 之外具有相同的代码 我正在尝试运行 cur ex
  • SVN 将整个文件标记为冲突

    我是 SVN 新手 在分支上工作一天左右后 我尝试将主干的更改合并到分支 svn merge svn server trunk 问题是 每当 SVN 遇到冲突文件时 它都无法识别逐行更改并将整行标记为冲突 我尝试了其他几个 SVN 客户端
  • 如何将 buildapp 与预定义的 asd 文件一起使用

    我打算使用buildapp http www xach com lisp buildapp example用于从我的 lisp 代码中获取可执行文件 但我不明白如何为项目指定 asd 文件 以加载代码 我想象了一些像这样的电话 builda
  • 如何从maven项目引用公共GitHub包

    我有一个 GitHub 存储库 其中包含发布到其自己的 GitHub 包 maven 存储库的库 我还有另一个项目 我想在其中引用这个库作为依赖项 当我将以下配置添加到项目的 POM 文件中时 它不起作用
  • 使用 TCP 套接字发送多个小消息或较短的长消息哪个更快

    我可以在任何地方找到任何文档 并且想知道尽快发送多条消息的最佳方法是什么 例如 如果我有 300 个设备从一台服务器接收消息 那么最好发送一条大消息并让设备挑选出它们需要的部分 或者发送 300 条消息 但大小为 1 300 它们只是很小的
  • 关于如何将项目从 UITableView 拖放到 UITableView 的教程 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我已经在这个问题上摸索了一段时间了
  • 反应 |如何将 FormikProps 向上传递一个组件

    我正在努力通过values and props 该 formik 需要 1 个组件 我在某些表单中使用各种小组件 并将它们传递到一个复杂的组件中 该组件需要在调用时将它们传递给每个单独的渲染 基本上都是 FormikProps 这是一个这样
  • 在Flutter中添加OverlayEntry

    我正在尝试将容器插入覆盖层 但此代码出现错误 class MyHomePageState extends State
  • Swift:如何从 AVFoundation 拍摄的照片中删除 EXIF 数据?

    我正在努力摆脱EXIF来自拍摄照片的数据AV基金会 我怎样才能快速做到这一点 2 首选 Objective C也可以 我知道如何将代码转换为swift Why 我做了研究 看到了很多名人社交媒体 https www reddit com r
  • 使用 Laravel 的 Ajax Post 错误 422

    我正在尝试使用 Laravel 5 制作一个简单的 Ajax 帖子 我读到 Csrf 令牌匹配存在问题 我可以将我的 uri 放入 verifyCsrfToken 期望中以解决此问题 这部分功能正常 但是现在我在发帖时收到 422 错误 我
  • 如何使用宏在 C++ 中生成随机变量名称?

    我正在 C 中创建一个宏 它声明一个变量并为其分配一些值 根据宏的使用方式 第二次出现的宏可以覆盖第一个变量的值 例如 define MY MACRO int my variable random number here getCurren
  • 带有 root 密码的 Kubernetes mysql statefulset

    我按照这里的例子https kubernetes io docs tasks run application run replicated stateful application https kubernetes io docs task
  • Mathematica 中的分区统计图的最小示例是什么样的?

    一个最小的例子是什么等值线图 http en wikipedia org wiki Choropleth mapMathematica 中的地图是什么样的 我可以使用读取 ESRI ShapefileImport 但不知道如何处理导入的结果
  • MYSQL按日期累计总和[重复]

    这个问题在这里已经有答案了 我怎样才能做累计总和 我的查询是 select dateb ricetype bajet1 from bajet where ricetype grand total 我如何存档 新价值 你可以像下面这样做 se
  • 如何对 Flash 进行自动化 UI 测试 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 实体框架 - 使用存储过程预先加载对象图

    背景 我正在将项目中的 LINQ to SQL 代码更改为实体框架 大多数改变都相对简单 但是 我遇到了一个相当大的问题 借助 LINQ to SQL 我能够使用存储过程加载整个对象图 对于模型 B 如下所示 ViewModel Model
  • CFFI 在 Python (Linux) 虚拟环境中失败——尝试在 venv 中安装加密包

    在虚拟环境中安装cffi遇到错误 但是好像可以安装 这些错误真的很严重吗 这些错误可能会导致安装加密时失败 请参阅下文 pip install cffi 1 11 5 下载 解压cffi 1 11 5 下载cffi 1 11 5 tar g
  • 如何在 Angular2 中使用变量定义 templateUrl

    我想要组件设置templateUrl与一个变量 但它不起作用 Component selector article templateUrl article html styleUrls styles stylesheets article
  • 有没有比使用嵌套 for 循环“更快”的方法来迭代二维数组?

    我编写了一个程序 用于加密和解密使用四方密码读取的文件 目前 我将文件存储到字符数组中 将其传递到将其分解为二元组的函数中 并使用另一个函数中的嵌套 for 循环以这种方式对其进行加密 此时 我基本上正在尝试优化运行时间 是否有另一种方法可
  • 如何在 PyGTK 中设置默认按钮?

    我有一个非常简单的窗口 其中有 2 个按钮 一个用于取消 一个用于应用 如何将应用按钮设置为默认按钮 当我按下回车键时 应用 按钮被按下 但是 我想将焦点设置到第一个输入小部件 我不能在按钮上使用grab focus 有什么建议么 Edit