首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Tkinter更改粘贴命令

Tkinter更改粘贴命令
EN

Stack Overflow用户
提问于 2022-11-24 17:59:16
回答 1查看 33关注 0票数 0

我试图在我的程序上更改粘贴命令。当我们从excel中复制表值时,无论它是垂直的还是水平线,它都将转换为垂直条目列表。但问题是,当我只想将单个值粘贴到随机条目行时,它总是从第一行条目中打印值,而不是从我选择的条目行中打印值。是否也可以使用鼠标创建函数来选择所有条目?

这是我的密码:

代码语言:javascript
运行
AI代码解释
复制
from tkinter import *

root=Tk()
d=[]
for i in range(4):
    e=Entry(root,)
    e.grid(row=i)
    d.append(e)

def paste(event):
    for entry in d:
        entry.delete(0,'end')
    data=root.clipboard_get().split()
    for entry,i in zip(d,data):
        if '\n':
            entry.insert(0, i.split('\n'))
            print(data)
        elif '\t':
            entry.insert(0, i.split('\t'))
            print(data)
    return 'break'

root.bind_all("<<Paste>>", paste)

root.mainloop()

你能帮我解决这个问题吗?

谢谢你!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-24 18:19:02

这是因为for循环总是从第一个输入框开始。您需要在条目列表d中找到所选条目的索引,并粘贴剪贴板数据,从它开始:

代码语言:javascript
运行
AI代码解释
复制
def paste(event):
    try:
        # get selected entry
        w = root.focus_get()
        # get the index of the selected entry in the entry list
        idx = d.index(w)
        # get the data from clipboard and split them into list
        data = root.clipboard_get()#.rstrip() # strip the trailing '\n'
        #print(repr(data)) # for debug purpose
        if '\t' in data:
            data = data.split('\t')
        elif '\n' in data:
            data = data.split('\n')
        # paste the data starts from the selected entry
        for entry, txt in zip(d[idx:], data):
            entry.delete(0, 'end')
            entry.insert('end', txt)
        return 'break'
    except Exception as ex:
        # something wrong, like no entry is selected
        print(ex)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74567678

复制
相关文章
Vim复制粘贴_vim复制粘贴命令
大家好,又见面了,我是你们的朋友全栈君。 原文地址:http://lsong17.spaces.live.com/blog/cns!556C21919D77FB59!603.entry
全栈程序员站长
2022/11/09
3.1K0
vim复制粘贴命令
大家好,又见面了,我是你们的朋友全栈君。 1. 选定文本块。使用v进入可视模式,移动光标键选定内容。 
全栈程序员站长
2022/11/09
2.5K0
vim常用复制粘贴命令
vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某种功能,只是方向不同,比如:
用户1685462
2021/09/04
6.2K1
vim命令复制粘贴命令_linux编辑文件命令vim
今天被vim的复制粘贴弄得很烦,它不像windows那样,每次复制会把以前的内容覆盖。所以有时粘贴出来的东西并不是你想要的。
全栈程序员站长
2022/11/08
6.6K0
vim命令复制粘贴命令_linux编辑文件命令vim
OpenStack命令更改实例类型
进行更改为牛逼实例类型 命令:openstack server resize --flavor 实例类型名字 虚拟机ID [root@controller ~]# openstack server resize --flavor 牛逼 b8095ceb-005c-4ca8-88be-dbdd7bec39ac
院长技术
2020/06/13
1.8K1
千万不要往 Shell 里粘贴命令!
对于用惯了 IDE 的程序员来说,在终端里敲命令可能没那么顺手,也记不住那么多复杂的命令。比较偷懒的做法就是网上搜相关的命令,复制到剪贴板往命令行窗口里一贴,完事!
lucifer210
2020/11/20
7890
vim复制粘贴_vim剪切命令
在Windows下我们习惯的操作,复制单个字符,复制单行多行,删除单行多行,在linux的vim中操作如下:
全栈程序员站长
2022/11/09
1.3K0
VIM 中的常用复制粘贴命令
光标放到第6行, 输入:2yy 光标放到第9行, 输入:p 此方法适合复制少量行文本的情况,复制第6行(包括)下面的2行数据,放到第9行下面。
前Thoughtworks-杨焱
2021/12/08
3.6K0
使用 sed 命令进行复制、剪切和粘贴
如果你使用的是 Linux、BSD 或 macOS,那么它们已经安装了 GNU 的或 BSD 的 sed。这些是原始 sed 命令的独特重新实现。虽然它们很相似,但也有一些细微的差别。本文已经在 Linux 和 NetBSD 版本上进行了测试,所以你可以使用你的计算机上找到的任何 sed,但是对于 BSD sed,你必须使用短选项(例如 -n 而不是 --quiet)。
用户8965210
2021/09/27
1.9K0
使用 sed 命令进行复制、剪切和粘贴
很少有 Unix 命令像 sed、grep 和 awk 一样出名,它们经常组合在一起,可能是因为它们具有奇怪的名称和强大的文本解析能力。它们还在一些语法和逻辑上有相似之处。虽然它们都能用于文本解析,但都有其特殊性。本文研究 sed 命令,它是一个 流编辑器(stream editor)。
用户8639654
2021/09/13
1.7K0
Linux更改文件权限命令「建议收藏」
1、格式:chmod 【-cfvR】【–help】【–version】mode file
全栈程序员站长
2022/10/01
2.5K0
chgrp命令更改文件用户组
chgrp是英语单词“change group”的缩写,命令的作用和其中文释义一样,为用于变更文件或目录的所属群组。
用户1685462
2021/09/07
1.5K0
OpenStack命令更改虚拟机名字
我们将一台虚拟机名字ROLY-3更改为:wocaoname [root@controller ~]# openstack server set --name wocaoname b8095ceb-005c-4ca8-88be-dbdd7bec39ac
院长技术
2020/06/13
1.4K0
vim的复制粘贴命令_linux vim全选复制
1. 将光标移动到要复制的文本开始的地方,按 v 进入可视模式。 2. 将光标移动到要复制的文本的结束的地方,按 y 复制,并退出可视模式。 3. 移动光标到粘贴的地方,按p粘贴。
全栈程序员站长
2022/09/27
14.4K0
cmd命令切换盘符_cmd更改盘符名
cd /d D:\Test\ 切换到D盘Test文件夹下 dir 查看文件夹内容 cd是用来进入目录,或退出目录的 CD\是回到根目录 CD..是回到上级目录 cd 子目录名,进入下级目录 CD 绝对路径,进入你的绝对路径的目录里如可以在 C:\WINDOWS\SYSTEM32下输入cd d:\program\firefox\ 来进入d:\program\firefox目录里
全栈程序员站长
2022/11/09
1.8K0
vim的复制粘贴命令_vim编辑器常用命令
接触linux操作系统之后使用vi/vim编辑器用的就比较多,其实vi/vim编辑文件特别方便,但是一些常见的指令模式下的命令确很容易忘,特别是复制剪切粘贴经常忘,所以小结下以后查用起来比较方便。
全栈程序员站长
2022/11/08
19.4K0
【python】tkinter组件,from Tkinter import * 与 import Tkinter 的区别
tkinter可以用于 Python 的 GUI 编程,提供了一些常用的组件,如按钮、标签、文本框等,方便用户进行界面设计和交互。可以通过导入 tkinter 模块来使用这些组件。
20岁爱吃必胜客
2023/03/09
3.3K0
【python】tkinter组件,from Tkinter import * 与 import Tkinter 的区别
Excel 技巧篇-选择性粘贴,只粘贴数值,不粘贴公式
最开始是这样的,我有一行数据,要每一个都除以1000,单位就是k,我想一个一个改就太麻烦了,想到了公式和宏编程,宏编程很强大,但是比较麻烦,于是就用公式了。
小蓝枣
2020/09/23
1.6K0
选择性粘贴:粘贴公式,值,转置
我们都知道CTRL C, CTRL V 但是我们有时候并不是要完全的粘贴 我们可能只是要粘贴这个值,去掉公式 或者只是要粘贴这个格式 或者是要横竖转换 这时候你要用到选择性粘贴 首先 还是先告诉你们
但老师
2022/03/22
2.6K0
选择性粘贴:粘贴公式,值,转置
点击加载更多

相似问题

Python更改Tkinter中的粘贴行为

11

更改粘贴命令,使其仅粘贴值

22

Tkinter,更改按钮及其命令

11

更改粘贴命令的分隔符

26

更改tkinter命令的右键单击事件

143
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文