python streamlit模块 需要两层按钮

python streamlit模块 需要两层按钮,第一个按钮截图后,显示第二个按钮替换图片的,现在点击第二个按钮没反应,打印1也没打印,把第二个按钮取消缩进显示出来又是正常的

if st.button('抓取截图'):
    Get_pictures.getHost(title)  #调用截图程序
    image2 = Image.open(f'image/{title}.jpg')  # 读取图片
    if st.button('替换底图'):
        print('1')
        old_path = f'image/{title}.jpg'
        new_path = f'fixed_image/{title}.jpg'
        shutil.copy(old_path, new_path)

我理解你的问题主要是想在Streamlit中实现一个包含两层按钮的界面,并且通过点击这些按钮来触发相应的操作。但是你在代码中遇到了一个特殊情况,即点击第二个按钮没有任何反应,即使将其取消缩进显示出来也是正常的。

针对这个问题,我们需要先检查代码逻辑和语法,确保程序能够正确执行到我们想要的操作。然后,我们需要考虑Streamlit界面设计方面的限制和注意事项,比如按钮的位置和排列方式等。

根据你的代码,我建议你可以尝试调整一下代码的逻辑和结构,将截图和替换图片的操作分别放在两个不同的函数中,并使用嵌套的st.if_button_pressed来实现两层按钮的功能。