Zak  
                
               
                 
              
                  
                    October 30, 2023,  2:38pm
                   
                   
              1 
               
             
            
              Hello everyone,
I’m trying to make a “copy to clipboard” button but it’s not working actually.
I tried to follow the solutions on 
Copy to clipboard using st.markdown  but I got this error instead:
“PyperclipException: Pyperclip could not find a copy/paste mechanism for your system. For more information, please see Welcome to Pyperclip’s documentation! — Pyperclip 1.5 documentation ”
I’ve tried installing the necessary packages to make copy/paste possible (xcel, xclip or even PyQT4) but I still get this error, do you have any solution please?
             
            
               
               
               
            
            
           
          
            
            
              Hi @Zak 
There’s a similar functionality that st.code provides, have you given this a try, more info and code snippet in the link below:
             
            
               
               
              1 Like 
            
            
           
          
            
              
                Zak  
                
               
              
                  
                    November 6, 2023,  9:12am
                   
                   
              3 
               
             
            
              Hi @dataprofessor , thank you for your answer,
I also tried to use st.code but it seems that it gives you a single-line response, without newlines, and makes the desired response look less aesthetic than st.markdown (even if I use langague = “markdown”), is there any other solution please ?
             
            
               
               
               
            
            
           
          
            
            
              Hi @Zak 
The aesthetic of the returned contents in st.code is a function of the provided input text.
Let’s say that if we provide the text as a single line, then the returned output would be a single line
code = 'def hello(): print("Hello, Streamlit!")'
st.code(code, language='python')
 
To achieve multi line then we’ll have to format our string to have new lines (\n) and to add tabs we can use \t.
Please consider the following code snippet:
import streamlit as st
code1 = '''def hello():
    print("Hello, Streamlit!")'''
st.code(code1)
code2 = '''def hello(): print("Hello, Streamlit!")'''
st.code(code2)
code3 = '''def hello():\n\tprint("Hello, Streamlit!")'''
st.code(code3)
code4 = '''def hello():\n    print("Hello, Streamlit!")'''
st.code(code4)
code5 = '''def hello():\n    print("Hello, Streamlit!")'''
st.code(code5)
 
which gives the following output: 
Hope this helps
             
            
               
               
               
            
            
           
          
            
              
                system  
                
                  Closed 
               
              
                  
                    May 10, 2024,  6:49am
                   
                   
              5 
               
             
            
              This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.