当我键入from Tkinter import ttk它时,表示没有命名的模块ttk,并且在许多网站上,tin tkinter总是小写的,但是当我输入tkinterPython时它会抛出一个错误.这是为什么?
我在Python中使用TKinter制作了一个GUI.我希望能够在鼠标光标移动时显示消息,例如,在标签或按钮的顶部.这样做的目的是向用户解释按钮/标签的作用或代表.
将鼠标悬停在Python中的tkinter对象上时,有没有办法显示文本?
Tkinter 不起作用,它会抛出错误。
安装:
% pip3 install tk
Run Code Online (Sandbox Code Playgroud)
我的代码:
#!/usr/bin/env python3
import tkinter as tk
Run Code Online (Sandbox Code Playgroud)
错误:
% pip3 install tk
Run Code Online (Sandbox Code Playgroud) 我似乎无法弄清楚如何x,y使用Python通过检索在Tkinter画布上创建的椭圆的位置
c.create_oval(x0, y0, x1, y2)
Run Code Online (Sandbox Code Playgroud)
据我所知,Tkinter在指定的框内创建椭圆x0,y0,x1,y2,如果我可以获得那些也可以工作的坐标.
我需要坐标将椭圆移动一个等于鼠标坐标和实际椭圆的偏移量.
我试图从tkinter OptionMenu中删除默认的"box like"图标,并将其替换为我自己的图像文件.下面是我迄今为止的代码.它工作,但我必须添加最后一行,以使其显示箭头图像和OptionMenu功能.但是,箭头图像总是在文本之后而不是在OptionMenu的最右边,并且粘性不接缝,因此宽度= 140.我在Python 2.6中工作.
将图像向右移动的任何消息?

...
arrow = PhotoImage(file='arrow.gif')
om = OptionMenu(root,myVar,*myOptList)
om.grid(sticky=W+E,padx=5,pady=5)
om.config(indictoron=0,compound='right',image=arrow,width=140)
om.image=arrow
...
Run Code Online (Sandbox Code Playgroud) 我目前正在尝试制作两个OptionMenu,其中第二个将根据第一个中选择的内容动态更新OptionMenu.
例如,我想OptionMenu_A用list做
[North America, Europe, Asia]
Run Code Online (Sandbox Code Playgroud)
Asia被选中,那么OptionMenu_B将改为类似的东西[Japan, China, Malasia].Europe选中,则它将更改[Germany, France, Switzerland]为例如.我可以制作两个OptionMenu但不能OptionMenu_B根据OptionMenu_A状态更新.
如果这样的事情有可能,有人会表现得很友好吗?
我最终尝试使用Tkinter模块用Python创建"形状奇特的窗口".但是现在我将满足于能够使背景透明,同时保持儿童小部件完全可见.
我知道这是通过wxPython和其他一些模块完成的,但我正在询问Tkinter的限制.
Tkinter可以创建一个清晰的画布或框架吗?它可以在没有画布或框架的情况下打包UI元素吗?单个UI元素可以透明吗?
它可以将鼠标点击位置传递回系统,以便在Z堆栈中处理它下面的任何窗口吗?
在Python 3中,我从交互式shell运行以下命令:
>>> import tkinter
>>> type(tkinter.Tk())
<class 'tkinter.Tk'>
>>> type(tkinter.Toplevel())
<class 'tkinter.Toplevel'>
Run Code Online (Sandbox Code Playgroud)
这两个都创建了单独的窗口.我假设tkinter.Tk()返回tkinter应用程序的"主"窗口,而任何其他窗口应该创建tkinter.Toplevel().
我注意到如果你关闭tkinter.Tk()窗户,两个窗户都会关闭.此外,如果您在tkinter.Toplevel()没有调用的情况下调用tkinter.Tk(),则会创建两个窗口(其中一个窗口是"主"窗口,当关闭时,它也将关闭Toplevel窗口).
这准确吗?我还应该关注其他任何不同之处吗?
我是python的新手,并且在我去的时候一直在努力教自己(不是这个深入python的最好的方法,但是为了时间的缘故我也需要).我导入的模块是Tkinter和csv.如果您有任何疑问,请告诉我.
为了简洁起见,我不打算在此处发布我的整个代码,但是我将包含整个错误并指出错误适用的行.下面的所有内容都在名为MainApp的类中.
def SubmitEdit(self):
self.key=""
self.val=""
new_rows = []
self.changes = {self.key:self.val}
with open("info.csv",'rb') as f:
reader = csv.reader(f):
for row in reader:
new_row = row
for field in row:
if field == "NAME":
print "groovy"
for (self.key,self.val) in self.changes.items():
new_row = [ x.replace(self.key,self.val) for x in new_row]
new_rows.append(new_row)
with open("info.csv","wb") as f:
writer = csv.writer(f):
writer.writerows(new_rows)
Run Code Online (Sandbox Code Playgroud)
我分别编写了这个代码,以确保它在将它放入程序之前工作并且它工作得很好,但是当我把它放在类中并进行更改时(我想)我需要对代码/变量行做出来没用.所以这让我相信我只是纠正错误的东西.
这是错误:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py",line 1536, in__call__
return self.func(*args)
File "C:\Python27\draft.py", line 328, in SubmitEdit …Run Code Online (Sandbox Code Playgroud) 我目前正在开发一种刮刀程序,它将进入一个维基百科页面,并以其当前形式,将从页面中删除引用.
我想要一个允许用户输入维基百科页面的gui.我希望输入附加到selectWikiPage变量,但到目前为止没有运气.
以下是我目前的代码.
import requests
from bs4 import BeautifulSoup
import re
from tkinter import *
#begin tkinter gui
def show_entry_fields():
print("Wikipedia URL: %s" % (e1.get()))
e1.delete(0,END)
master = Tk()
Label(master, text="Wikipedia URL").grid(row=0)
e1 = Entry(master)
e1.insert(10,"http://en.wikipedia.org/wiki/randomness")
e1.grid(row=0, column=1)
Button(master, text='Scrape', command=master.quit).grid(row=3, column=0, sticky=W, pady=4)
mainloop( )
session = requests.Session()
selectWikiPage = input(print("Please enter the Wikipedia page you wish to scrape from"))
if "wikipedia" in selectWikiPage:
html = session.post(selectWikiPage)
bsObj = BeautifulSoup(html.text, "html.parser")
findReferences = bsObj.find('ol', {'class': 'references'}) #isolate …Run Code Online (Sandbox Code Playgroud) python ×10
tkinter ×10
python-3.x ×3
optionmenu ×2
class ×1
csv ×1
dynamic ×1
items ×1
macos ×1
python-3.5 ×1
tooltip ×1
transparent ×1
window ×1