找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1849|回复: 1

[求助] python设置win剪贴版 但只能复制出一个字母是为什么??

10

主题

13

帖子

13

积分

贫民

积分
13
angel725 发表于 2019-3-22 22:15:37 | 显示全部楼层 |阅读模式
  1. v_u = ['dd','dds','qqq']
  2. v_n = ['111','222','333']



  3. win = tk.Tk()
  4. win.geometry('500x400')

  5. def onCopy():
  6.     # 右键菜单
  7.     item_text = tv.item(tv.selection(), 'values')
  8.     print(item_text[2])  # 输出所选行的第一列的值
  9.     win32clipboard.OpenClipboard()
  10.     win32clipboard.EmptyClipboard()
  11.     win32clipboard.SetClipboardData(win32clipboard.CF_TEXT, item_text[2])
  12.     print(win32clipboard.GetClipboardData(win32clipboard.CF_TEXT))
  13.     win32clipboard.CloseClipboard()


  14. tv = ttk.Treeview(win,show='headings')
  15. tv["columns"] = ('a','b','c')
  16. tv.grid(row=4,columnspan=4,sticky='ES')

  17. tv.column('a', width=50, anchor='center')
  18. tv.column('b',width=200)
  19. tv.column('c',width=200)
  20. tv.heading('a',text='编号')
  21. tv.heading('b',text='说明')
  22. tv.heading('c',text='地址')

  23. # 右键菜单
  24. menu = tk.Menu(win, tearoff=0)
  25. menu.add_command(label="复制地址", command=onCopy)


  26. def popupmenu(event):
  27.     menu.post(event.x_root, event.y_root)


  28. tv.bind("<Button-3>", popupmenu)


  29. def add_list():
  30.     for i in range(len(v_u)):
  31.         tv.insert('', 'end', values=(i + 1, v_n[i], v_u[i]))


  32. tk.Button(win, text='add', width='10', height='1', command=add_list).grid(row=5, column=1)


  33. win.mainloop()
复制代码
tv是treeview
item_text[2]这个值打出来是对的。
但SetClipboardData后,我在其它粘贴,就只有第一个字母。
这是为什么?
回复

使用道具 举报

10

主题

13

帖子

13

积分

贫民

积分
13
angel725  楼主| 发表于 2019-4-2 20:52:10 | 显示全部楼层
............
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表