这段代码从Slider
获取字符并将它们转换为字符串。使用Slider
实现的输入超时。我已经包含了plt.draw()
函数来捕获from matplotlib import pyplot as plt
from matplotlib import gridspec
from matplotlib.widgets import Slider, RadioButtons
# Set the grid
grid = gridspec.GridSpec(2, 1, height_ratios=[1, 2])
# Plot the sliders
axes_slider = plt.subplot(grid[0, 0])
slider = Slider(axes_slider, 'Channel', valmin=0, valmax=255, valinit=128)
# Plot the radio buttons
axes_button = plt.subplot(grid[1, 0])
button = RadioButtons(axes_button, ('Gradient', 'Channel'), active=1)
plt.tight_layout(h_pad=0)
plt.subplots_adjust(left=.2, right=.9)
def update(_):
take_gradient = True if button.value_selected == 'Gradient' else False
if take_gradient:
slider.valmin = -1
slider.valmax = 1
slider.val = 0
slider.label= 'Gradient'
slider.valinit = 0
else:
slider.valmin = 0
slider.valmax = 255
slider.val = 128
slider.label = 'Channel'
slider.valinit = 128
plt.draw()
# Register call-backs with widgets
slider.on_changed(update)
button.on_clicked(update)
plt.show()
。它在程序运行时没有正确输出,因为它正在等待输入。但是,一旦输入一个角色,它就不再超时。无论输入等待时间是什么。
stdin
答案 0 :(得分:1)
您使用的操作系统和GHC版本是什么?
当超时不为0时,AFAIK会重新发送return view('quarx-frontend::pages.' . $page->template)->with('page', $page)->withShortcodes();
个版本GHC
doesn't work on linux。在Windows上,整个IO子系统也是"a bit lacking"。
答案 1 :(得分:0)
但是,一旦输入字符,它就不再超时。无论输入等待时间是什么。
这就是按照the docs的工作方式:
计算hWaitForInput hdl t等待直到句柄hdl上的输入可用。只要hdl上有可用输入,它将立即返回True;如果在t毫秒内没有可用输入,则返回False。
这是hWaitForInput
的用法示例,它将等待五秒钟,然后检查stdin
中是否有字符。如果没有,它将显示“超时已到”。否则,它将等待用户按下Enter键(hGetLine
检查行尾)并打印用户输入的字符串:
main :: IO ()
main =
hWaitForInput stdin 5000 >>= \inputIsAvailable ->
if inputIsAvailable
then hGetLine stdin >>= \input -> putStrLn $ "There is input: " ++ input
else putStrLn "Timeout reached"