Hi everyone,
I would like to ask if it is possible to create a button to copy certain text that can be used for users on their own computer.
I’m using “pyperclip.copy(content)” currently, but only the person who opens the website can copy successfully
Thanks!
Hello @kellyhsu,
Can you please try this to create a copy-to-clipboard button:
import streamlit as st
def create_copy_button(text_to_copy):
button_id = "copyButton" + text_to_copy
button_html = f"""<button id="{button_id}">Copy</button>
<script>
document.getElementById("{button_id}").onclick = function() {{
navigator.clipboard.writeText("{text_to_copy}").then(function() {{
console.log('Async: Copying to clipboard was successful!');
}}, function(err) {{
console.error('Async: Could not copy text: ', err);
}});
}}
</script>"""
st.markdown(button_html, unsafe_allow_html=True)
text_to_copy = "Hello, Streamlit!"
st.text_input("Text to copy:", value=text_to_copy, key="text_to_copy")
create_copy_button(st.session_state.text_to_copy)
Hope this helps!
Kind Regards,
Sahir Maharaj
Data Scientist | AI Engineer
P.S. Lets connect on LinkedIn!
➤ Want me to build your solution? Lets chat about how I can assist!
➤ Quick, practical management advice to leverage data and AI: Subscribe on LinkedIn
➤ Join my Medium community of 30k readers! Sharing my knowledge about data science and AI
➤ Website: https://sahirmaharaj.com
➤ Email: sahir@sahirmaharaj.com
➤ 100+ FREE Power BI Themes: Download Now
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.