有没有办法在IPython笔记本中有选择地隐藏一个特定的输入或输出单元?
我只能找到以下代码来显示/隐藏所有输入单元格.
http://blog.nextgenetics.net/?e=102
但是,如果我只想隐藏笔记本的第一个输入单元怎么办?
我创建了一个DropDown小部件:
self.foo_widget = widgets.Dropdown(description='Lorem ipsum', width=100)
self.foo_widget.options = ['Default', 'A', 'B', 'C', 'D']
Run Code Online (Sandbox Code Playgroud)
我抓住了这个on_trait_change事件:
self.foo_widget.on_trait_change(self.handler, 'value')
Run Code Online (Sandbox Code Playgroud)
现在在处理函数中handler,我想将DropDown值设置回'Default'.但以下代码仅更改值而不更新窗口小部件显示.即使print self.foo_widget.value显示为"默认" ,DropDown仍会显示原始选择值(例如,"C").
self.foo_widget.value = 'Default'
Run Code Online (Sandbox Code Playgroud)
这是IPython Widget的错误吗?导致更新视图的正确方法是什么?
实际上,对于列表小部件,似乎我必须清除选项并再次分配选项以使小部件的显示更新.有没有类似的经历?
更新:以下 nluigi的答案很有效.如以下示例所示.
class test(object):
def __init__(self):
self.foo_widget = widgets.Dropdown(description='Lorem ipsum', width=100)
self.foo_widget.options = ['Default', 'A', 'B', 'C', 'D']
self.foo_widget.on_trait_change(self.handler, 'value')
display(self.foo_widget)
def handler(self, name, old, new):
print(self.foo_widget.value)
print(self.foo_widget.selected_label)
self.foo_widget.value = 'Default'
self.foo_widget.selected_label = 'Default'
Run Code Online (Sandbox Code Playgroud) 我想根据笔记本窗口的宽度设置小部件的宽度。用户计算机的分辨率、当前窗口大小以及他们为笔记本设置 CSS 的方式都会影响这一点。
有没有办法在Python代码中获取屏幕分辨率、浏览器窗口宽度和/或当前笔记本单元格宽度?
我的目标是使用 Pyinstaller 从一个使用 Tkinter 和 cx_oracle 访问数据库的简单 python 脚本中捆绑一个 exe 文件。python代码是在安装了Anaconda、cx_oracle包和oracle客户端的windows机器上开发的。然后我需要在许多没有oracle 客户端或 Python 的目标 Windows 机器上运行 exe 文件。
我在开发机器上使用 Python 2.7 和 Pyinstaller 3.1。
我在网上搜索了一段时间,但只找到了一个教程:https : //mail.python.org/pipermail/tutor/2014-December/103608.html
我按照相同的步骤修改了规范文件,如下所示:
# -*- mode: python -*-
block_cipher = None
a = Analysis(['mycode.py'],
pathex=['C:\\Users\\myuser\\PycharmProjects\\mycode'],
binaries=None,
datas=None,
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries + [('oraociei11.dll','D:\ProgramFiles\Anaconda2\oraociei11.dll','BINARY')],
a.zipfiles,
a.datas,
name='mycode',
debug=False,
strip=False,
upx=True,
console=True )
Run Code Online (Sandbox Code Playgroud)
捆绑工作。代码在安装了 oracle 客户端的原始机器上运行。但是在没有 oracle 客户端的单独机器上,它无法运行,并显示以下错误消息:
Tkinter 回调 Traceback …
我想知道为什么seaborn lmplot和regplot仅具有执行logx的选项。我经常使用线性拟合log(y)〜x,并且Y轴应始终在对数刻度上以显示相关性(按照惯例)。
这在Seaborn中可以完成吗?
选择logy = True会很好...
谢谢。