鱼C论坛

 找回密码
 立即注册
查看: 7967|回复: 12

multchoicebox的用法,求指教!!!

[复制链接]
发表于 2015-10-24 08:08:13 | 显示全部楼层 |阅读模式
4鱼币
怎么使用multchoicebox函数创建出可以选择多项的对话框?@小甲鱼 @福禄娃娃 求教啊:mad:

最佳答案

查看完整内容

这就奇了怪了, 为什么我的就可以多选呢?会不会是版本的问题, 我的用的是0.96版本,据说0.97版本有些问题,你是哪个版本的呀?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-10-24 08:08:14 | 显示全部楼层
触摸纯白 发表于 2015-10-28 01:01
不修改我上边贴子所提到来的,使用右键选择多选也选不中

这就奇了怪了, 为什么我的就可以多选呢?会不会是版本的问题, 我的用的是0.96版本,据说0.97版本有些问题,你是哪个版本的呀?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-10-26 13:54:31 | 显示全部楼层
请问楼主学习的是easygui或者tk吗?这两个论坛里面学习的人比较少 —— 建议自己查查资料哦~
另外, 如果是tk的话可以请教@夕阳游龙 哦!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-10-26 23:34:58 | 显示全部楼层
~风介~ 发表于 2015-10-26 13:54
请问楼主学习的是easygui或者tk吗?这两个论坛里面学习的人比较少 —— 建议自己查查资料哦~
另 ...

我在看小甲鱼的《零基础入门学习python》视频,有些不懂的就发到这里,Tkinter目前还没有学到呢:hug:
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-10-27 05:25:24 | 显示全部楼层
~风介~ 发表于 2015-10-26 13:54
请问楼主学习的是easygui或者tk吗?这两个论坛里面学习的人比较少 —— 建议自己查查资料哦~
另 ...

谢谢你的指点:kiss:
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-10-27 13:55:31 | 显示全部楼层

看错了函数原型, 害我差了好久~ 你看看是不是你想要的?
  1. import easygui

  2. choices = easygui.multchoicebox(msg='Pick as many items as you like.',
  3.                                 title='bbs.fishc.com',
  4.                                 choices = ['a','b','c'])

  5. print(choices)
复制代码

想多选,直接用鼠标右键选中(变成蓝色)就可以了~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-10-27 16:57:23 | 显示全部楼层
都玩这么高深的,,,,:cry
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-10-28 00:57:46 | 显示全部楼层
~风介~ 发表于 2015-10-27 13:55
看错了函数原型, 害我差了好久~ 你看看是不是你想要的?

想多选,直接用鼠标右键选中(变成 ...

@小甲鱼 @~风介~  我终于找到解决方法了,海外淘来的,英文版这样说:
【I think I found the problem. In derived_boxes.py, there is a global variable __choiceboxMultipleSelect that is set to 1 for a multchoicebox. For some reason this is getting reset. I don't know enough about python to figure out why this is happening, so I just added an parameter to the __choicebox method in base_boxes.py and set that to 1. I then found all references to __choiceboxMultipleSelect in base_boxes.py and changed it to the parameter. Seems to be working for me.
edit: above didn't work, box would show but not let me select anything. I found a solution that does work though. In derived_boxes.py, change global __choiceboxMultipleSelect to bb.__choiceboxMultipleSelect = 1 and delete the variable assignment below.】
翻译成中文即是,找到derived_boxes.py文件,将multchoicebox定义中global __choiceboxMultipleSelect改变为bb.__choiceboxMultipleSelect = 1
multchoicebox应用解决方案.png
效果截图.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-10-28 01:01:34 | 显示全部楼层
~风介~ 发表于 2015-10-27 13:55
看错了函数原型, 害我差了好久~ 你看看是不是你想要的?

想多选,直接用鼠标右键选中(变成 ...


不修改我上边贴子所提到来的,使用右键选择多选也选不中:sleepy:
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-10-28 01:35:29 | 显示全部楼层
~风介~ 发表于 2015-10-28 01:26
这就奇了怪了, 为什么我的就可以多选呢?会不会是版本的问题, 我的用的是0.96版本,据说0.97版本有些问 ...

先是用的96版的,不行,后来又用的97版的,还是不行,修改后直接使用左键就可以多选
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-12-23 23:48:11 | 显示全部楼层
请问,使用multchoicebox()的时候,假设有五个选项,如果要选择“最多选三个”,这个怎么办?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-12-25 11:17:55 | 显示全部楼层
Chloe2015 发表于 2015-12-23 23:48
请问,使用multchoicebox()的时候,假设有五个选项,如果要选择“最多选三个”,这个怎么办?

直接使用的话,我还真不会,不过用软件的方法或可以间接地实现,不知以下代码是否合你的意
  1. from easygui import *

  2. n = 4
  3. sel = '重新选择'

  4. while n > 3 and sel == '重新选择':
  5.     result = multchoicebox(msg='请选择你要选择的项目(不得多于三项):', title='选项', choices=('1...', '2...', '3...', '4...', '5...'))
  6.     if result != None:
  7.         n = len(result)
  8.     else:
  9.         n = 0
  10.     if n > 3:
  11.         sel = buttonbox(msg='选择项目多于三项', title='提示', choices=('重新选择', '取消'))
  12.         result = None

  13. print(result)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-9 16:34:18 | 显示全部楼层
触摸纯白 发表于 2015-10-28 00:57
@小甲鱼 @~风介~  我终于找到解决方法了,海外淘来的,英文版这样说:
【I think I found the problem.  ...

无敌,问题解决
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-18 01:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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