我希望创建类似于Tkinter中的表的东西,但它不一定必须是一个.
我想创建标题'Name1','Name2','Value'作为示例,并且在每个标题下面我希望有几个空白行.
这些行我希望稍后填写(因此是一个Label),其中包含我已计算的值或名称的字符串值.
对于'Name2',我实际上希望整个列都是下拉菜单.我已经为它自己创建了一个代码,但我不确定如何将它合并到这个'table'中.
例如,是否可以在Label小部件周围创建边框,使其看起来像"桌子"?
我们非常感谢在这种情况下可能出现的任何指示.如果您需要我的任何代码来进行某些操作,请询问.谢谢!
我有以下代码,我试图允许用户打开一个文本文件,一旦用户选择它,我希望代码读取它(这不是一个完成的代码块,只是为了显示什么我以后).
但是,我在使用tkFileDialog.askopenfilename和添加'mode ='rb''或使用如下代码并使用read产生错误时遇到困难.
有没有人知道如何安排这样做,因为我不希望为菜单和列表框等每个项目输入Tkinter.'module'.初学者到Tkinter有点困惑!谢谢您的帮助!
import sys
from Tkinter import *
import tkFileDialog
from tkFileDialog import askopenfilename # Open dialog box
fen1 = Tk() # Create window
fen1.title("Optimisation") #
menu1 = Menu(fen1)
def open():
filename = askopenfilename(filetypes=[("Text files","*.txt")])
txt = filename.read()
print txt
filename.close()
fen1.mainloop()
Run Code Online (Sandbox Code Playgroud)
显然,我在这里得到的错误是:
AttributeError: 'unicode' object has no attribute 'read'
Run Code Online (Sandbox Code Playgroud)
我不明白如何使用askopen,也能够读取我正在打开的文件.
当您只是创建一个窗口时,我想知道Tkinter中的默认窗口颜色:
root = Tk()
Run Code Online (Sandbox Code Playgroud)
如果有,可以将小部件设置为相同的颜色或使用十六进制颜色代码?(使用rgb)
我在'普通'窗口找到的颜色代码是:
R = 240,G = 240,B = 237
谢谢.
我知道过去网格和包装上有很多问题,但我只是不明白如何将两者结合起来,因为我在两个方向(行/列)上扩展我的'表'时遇到了困难.
按钮我希望保持相同的尺寸,但始终保持在窗口的底部.然而,我希望通过调整窗口大小自动扩展"表格",但似乎无法使其正常工作.将'win1'改为打包工作的意义在于它保持中心但就是这样.
我怎么能达到相同的效果,如粘贴等包装,因为我知道我需要更改术语.
代码如下(显示基本框架和几个小部件,而不是完整的代码):
root = Tk()
win1 = Frame(root)
win1.pack()
win1.grid_columnconfigure(0, weight=1)
win1.grid_rowconfigure(1, weight=1)
frame_table = ttk.Frame(win1, style="Black.TLabel", relief='sunken', borderwidth=1)
frame_table.pack(row=2, column=0, padx=1, pady=1, sticky= "nsew")
frame_table.grid_columnconfigure(0, weight=1)
frame_table.grid_rowconfigure(1, weight=1)
text_table1 = Label(frame_table, text='Number1', bg='white', borderwidth=0)
text_table1.grid(row=1, column=0, sticky="nsew", padx=1, pady=1)
empty1 = Label(frame_table, bg='white', borderwidth=0)
empty1.grid(row=2, column=0, sticky="nsew", padx=1, pady=1)
text_table2 = Label(frame_table, text='Number2', bg='white', borderwidth=0, width=12)
text_table2.grid(row=1, column=1, sticky="nsew", padx=1, pady=1)
empty2 = Label(frame_table, bg='white', borderwidth=0)
empty2.grid(row=2, column=1, sticky="nsew", padx=1, pady=1)
frame_but = ttk.Frame(win1)
frame_but.grid(sticky=S, padx=1, pady=1) …Run Code Online (Sandbox Code Playgroud) 我已导入xlrd等.我的代码的主要部分如下:
for serie_diam in range(0,9):
namesheet = "Diamètre " + str(serie_diam)
#select(namesheet)
numLine = sh.row_values(3)
OK = 1
while OK == 1:
d = sh1(numLine, 1)
D = sh1(numLine, 2)
rs = sh1(numLine, 7)
for i in range(4):
BB = sh1(numLine, 2 + i)
if BB != 0:
print repr(d).rjust(2), repr(D).rjust(3), repr(B).rjust(4), repr(rs).rjust(5)
Run Code Online (Sandbox Code Playgroud)
我总共在我的xls文件中有7张纸,我想知道如何在同一个循环中循环这些,如OK == 1那时我只写了'sh1'.
如果这个问题太容易了,我很抱歉!