i have done research on running HTML code in python, i have the libraries imported just i have my code in a HTML file. So is there any way to import it into python?
Thanks Mrcottonball.
I have tried this code ↓↓↓
The problem is i need to use HTML outside of python and occasionally import it as a .html file
`
# Import Module
from tkinter import *
from tkhtmlview import HTMLLabel
# Create Object
root = Tk()
# Set Geometry
root.geometry("400x400")
# Add label
my_label = HTMLLabel(root, html="""
<h1>HI</h1>
<h2>HI</h2>
<h3>HI</h3>
<h4>HI</h4>
<h5>HI</h5>
<h6>HI</h6>
""")
# Adjust label
my_label.pack(pady=20, padx=20)
# Execute Tkinter
root.mainloop()
`
any help would be appreciated
kind regards, Mrcottonball :)
Related
I have created a simple tKinter Gui with PAGE builder and I am able to click a button and execute the corresponding command function within it. But when I try to get a value of a specific text box within the function I get various errors mostly no such property found. I have tried adding self and the class name into the property and even passing the property from the class as well as making it a function within that class but I still can't seem to access the values of the textbox 'Username'. I would really appreciate any help on how to get those text box values within the function as I have been researching for hours but still cannot make it work. Also if anyone knows of any good tutorial on this topic would help tremendously. Thank you.
The project has 2 files: (I've tried to remove the non essential code)
MacUpdaterPageDesign.py
import sys
import tkinter as tk
import tkinter.ttk as ttk
from tkinter.constants import *
import os.path
_script = sys.argv[0]
_location = os.path.dirname(_script)
import MacUpdaterPageDesign_support
class Toplevel1:
def __init__(self, top=None):
top.title("Mac Updater")
top.configure(background="#d9d9d9")
self.top = top
self.MainFrame = tk.Frame(self.top)
self.MainFrame.place(relx=0.0, rely=0.18, relheight=0.811
, relwidth=1.099)
self.Username = tk.Text(self.MainFrame)
self.Username.place(relx=0.15, rely=0.081, relheight=0.048
, relwidth=0.279)
#this button calls the CopyMACfunc on the support page
self.CopyMAC = tk.Button(self.MainFrame)
self.CopyMAC.place(relx=0.143, rely=0.846, height=34, width=117)
self.CopyMAC.configure(command=MacUpdaterPageDesign_support.CopyMACfunc)
self.CopyMAC.configure(text='Copy MAC')
MacUpdaterPageDesign_support.py
import sys
import tkinter as tk
import tkinter.ttk as ttk
from tkinter.constants import *
import MacUpdaterPageDesign
def main(*args):
'''Main entry point for the application.'''
global root
root = tk.Tk()
root.protocol( 'WM_DELETE_WINDOW' , root.destroy)
# Creates a toplevel widget.
global _top1, _w1
_top1 = root
_w1 = MacUpdaterPageDesign.Toplevel1(_top1)
root.mainloop()
def CopyMACfunc(*args):
#this part must retrieve the value in from Username
#tried many variations of below but throws error
username = MacUpdaterPageDesign.Username.get("1.0",END)
print(username)
if __name__ == '__main__':
MacUpdaterPageDesign.start_up()
Actually while writing this question I finally got it to work:
username = _w1.Username.get("1.0",END)
it did work with the following but not sure if this would be the right way to do it per say. Maybe their are better ways if anyone knows. Also would appreciate any recommendation for a good tutorial or where to learn all of this type of info. Thanks
I'm trying to include Autocomplete in my combobox but it's not working. Received an error when I'm trying to use tkentrycomplete. Below is the code I'm using for combobox, please point out my mistakes and help me out. Thank you
from tkinter import *
from tkinter.ttk import *
from tkinter import ttk
import tkinter as tk
import pandas as pd
comboExample1 = ttk.Combobox(window, width=30, values=list(df3["MFG Device"].unique()))
# comboExample1.current(0)
val = tk.StringVar()
comboExample1 = tkentrycomplete.AutocompleteCombobox(textvariable=val)
comboExample1.place(x=90, y=70)
comboExample1.bind("<<ComboboxSelected>>", select_device)
Error:
comboExample1 = tkentrycomplete.AutocompleteCombobox(textvariable=val)
NameError: name 'tkentrycomplete' is not define
tkentrycomplete is not a thing, I think what you need to do is comboExample1.AutocompleteCombobox(textvariable=val)
(I put this as an answer since I don't have enough rep to comment)
Edit:
try this:
comboExample1['values'] = val
(you may need to put this into a function and then bind it)
I am interested to create a single tkinter GUI in which i can define a path to run a python script located in a particular folder. The code is shown below. It can read the required .py file from the set of files in that folder using the path i have given and open the dialogue box for plot graphs too but doesnt do anything. When i click the plot graphs button rather it gives an error "AttributeError: 'int' object has no attribute 'display_graph'". Can anyone check and edit my code to help.(I am using spyder so tk is tkr). I know about py2exe, So i would appreciate if someone can help with tkinter GUI code. Thanks
My python script is Empdata.py and i used def display_graph(data) in it:
Code
import glob
import tkinter as tkr
import os
path = r'C:\Users\C253271\Desktop\Empower data\\'
allpyfiles =glob.glob(os.path.join(path, "*.py"))
for file in allpyfiles:
file =('Empdata')
def graph():
global v
file.display_graph(v.get())
root = tkr.Tk()
v = tkr.StringVar()
tkr.Button(root, text='Close',command=root.destroy).grid(row=2, column=1)
tkr.Button(root, text='Plot Graphs', command = graph).grid(row=2, column=0)
root.mainloop()
In the code from the question, file is a string. It thus does not have any methods. What you really want to do is to import the python file, such that its content is available.
To do so, you may use importlib
f = importlib.import_module("Empdata") # if you have Empdata.py in your folder
f.some_method()
Your example should therefore look something like
import Tkinter as tkr
import importlib
fn = "Empdata"
f = importlib.import_module(fn)
def graph():
global v
f.display_graph(v.get())
root = tkr.Tk()
v = tkr.StringVar()
tkr.Button(root, text='Close',command=root.destroy).grid(row=2, column=1)
tkr.Button(root, text='Plot Graphs', command = graph).grid(row=2, column=0)
root.mainloop()
I have ScrolledText in Tkiner application ,in which i am supposed to write the python code in it and i have one button,by pressing that i send those lines of code to InteractiveInterpreter().runcode("code as a string")
This runcode() method return the NoneType object and shows output on the cmd
but i want output in string format, i tried using exec() but it didn't work for me.There is some way to do that?
import Tkinter as tk
from Tkinter import *
from ScrolledText import *
from code import InteractiveInterpreter
interpreter = InteractiveInterpreter()
def go(event):
print(interpreter.runcode(textPad.get('1.0', END+'-1c')))
root = tk.Tk()
textPad = ScrolledText(root,width=100,height=100)
textPad.focus_set()
b2=tk.Button(root, text ="Run",width=34,height=3)
b2.pack()
b2.bind('<Button-1>', go)
textPad.pack()
root.mainloop()
I'm really stuck on a basilary things: I have this code
from tkinter import *
import sys
import subprocess
import tkinter as tk
def cd():
f=(subprocess.check_output("net view"))
e=(f.decode(sys.stdout.encoding))
label1=Label(text=e).pack()
def mainscreen():
mainscreen=Tk()
mainscreen.title("Terfysgol's kit V 2.0")
frame1=Frame(mainscreen)
frame1.pack()
puls1=Button(frame1,text="List of device", borderwidth= "2",command= cd).pack()
mainscreen()
When I run it all the time that I press the button it create a new label but I only want to update the text of the label1.
This is what you are after:
def cd():
f=(subprocess.check_output("net view"))
e=(f.decode(sys.stdout.encoding))
label1.config(text = e)
and then at the top of your program after your imports you need to put:
label1 = Label()
label1.pack()
Please note that I'm not suggesting this is good program structure, but that is up to you to sort out. This answer is just a quick fix to provide you with enough information to work out the rest of what you need.
Also you can remove the import tkinter as tk line already imports tkinter.