[英].pack ttk and sticky in Python 3.5
我已經找到了如何為 Tk 創建替換徽標,以及如何從窗口中刪除 Tk。 然而,我無法找到任何關於如何粘貼任何按鈕等的存在。 我嘗試創建一個類和一個 def create_widget,但由於某種原因,我在 PyDev 調試中遇到錯誤。 它一直說sticky = N + E 是未定義的。 我認為導入 ttk 會自動允許我通過 self 編輯這些按鈕,但是當我做 self 時,我必須更改周圍的所有內容,然后導入將不允許 root。 我相信這個問題是因為我沒有以正確的方式導入,因為我已經替換了徽標並刪除了 tk. 我的問題是,.pack 是如何工作的,我在這段代碼中是否主要遺漏了什么?
from tkinter import ttk
import tkinter
import tempfile
ICON = (b'\x00\x00\x01\x00\x01\x00\x10\x10\x00\x00\x01\x00\x08\x00h\x05\x00\x00'
b'\x16\x00\x00\x00(\x00\x00\x00\x10\x00\x00\x00 \x00\x00\x00\x01\x00'
b'\x08\x00\x00\x00\x00\x00@\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x01\x00\x00\x00\x01') + b'\x00'*1282 + b'\xff'*64
_, ICON_PATH = tempfile.mkstemp()
with open(ICON_PATH, 'wb') as icon_file:
icon_file.write(ICON)
root = tkinter.Tk()
buttonstyle = ttk.Style()
buttonstyle.map("C.TButton",
foreground=[('pressed', 'red'), ('active', 'blue')],
background=[('pressed', '!disabled', 'black'), ('active', 'white')]
)
colored_btn = ttk.Button(text="Activate", style="C.TButton").pack()
b = ttk.Button(root, text='Rename')
b.pack()
style = ttk.Style()
style.theme_settings("default", {
"TCombobox": {
"configure": {"padding": 5},
"map": {
"background": [("active", "green2"),
("!disabled", "green4")],
"fieldbackground": [("!disabled", "green3")],
"foreground": [("focus", "OliveDrab1"),
("!disabled", "OliveDrab2")]
}
}
})
combo = ttk.Combobox().pack()
style.layout("TMenubutton", [
("Menubutton.background", None),
("Menubutton.button", {"children":
[("Menubutton.focus", {"children":
[("Menubutton.padding", {"children":
[("Menubutton.label", {"side": "left", "expand": 1})]
})]
})]
}),
])
mbtn = ttk.Menubutton(text='Rename')
mbtn.pack()
root.title("Rename")
root.iconbitmap(default = ICON_PATH)
root.geometry("700x300")
label = ttk.Label(root, text = "Rename")
label.pack()
root.mainloop()
看看你的進口:
from tkinter import ttk
import tkinter
import tempfile
現在看看據報道失敗的sticky
代碼:
sticky = N + E
引用N
和E
(只是'n'
和'e'
)在tkinter
,因此您需要像該包中的其他對象一樣訪問它們,使用tkinter.
字首:
sticky = tkinter.N + tkinter.E
或者只使用文字字符串:
sticky='ne'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.