0
我正在學習Python,我有一個關於.grid()方法的問題。 在筆者給的例子,他有*使進口像這樣:tkinter和ttk如何在Python 3.5中工作?
from tkinter import *
from tkinter import ttk, filedialog, messagebox
import base64
import json
import os
from bs4 import BeautifulSoup
import requests
然後,他創建了根窗口,和主框架,像這樣:
_root = Tk() # tkinter object, main window
_root.title('Scrape app') # window title
_root.resizable(width=False, height=False)
_mainframe = ttk.Frame(_root, padding='5 5 5 5')
_mainframe.grid(row=0, column=0, sticky=(E, W, N, S))
到目前爲止這麼好,我抓住了一切。
import tkinter as tk
from tkinter import ttk, messagebox, filedialog
import base64
import json
import os
from bs4 import BeautifulSoup
import requests
root_window = tk.Tk()
root_window.title('My first attemp of custom guiscrape')
root_window.resizable(width=False, height=False)
# First Frame
g_main_frame = ttk.Frame(root_window, padding='5 5 5 5')
g_main_frame.grid(row=0, column=0, sticky='NSWE')
g_url_frame = ttk.LabelFrame(g_main_frame, text='URL', padding='5 5 5 5')
g_url_frame.grid(row=0, column=0, sticky='EW')
g_url_frame.columnconfigure(0, weight=1)
g_url_frame.rowconfigure(0, weight=1)
var_url = tk.StringVar()
var_url.set('http://localhost:8000')
g_url_entry = ttk.Entry(g_url_frame, width=40, textvariable=var_url)
g_url_entry.grid(row=0, column=0, sticky='NESW', padx=5)
root_window.mainloop()
這裏的問題是:當他說,與*進口並不是因爲名稱衝突的一個很好的做法,所以我試圖創造良好做法類似的東西思維之一,我這樣做的問題開始當出現_mainframe.grid()時,sticky選項會得到一個帶有四個常量的元組,但是當我試圖給出一個元組時,我得到一個錯誤,常量E沒有被定義,所以我必須使用像'NEWS'這樣的字符串,與作者的方法(N,E,W,S)有很大不同。
與tkinter和ttk的網格方法不同嗎?什麼可能是最好的方法來使用它?我找不到更多有關ttk的文檔,可以解決我的疑問,希望你能幫助!
非常感謝!你是一個救星!,沒有看到即將到來。我在哪裏可以檢查有關tkinter和ttk的更多信息?而且,堅持下去更好嗎?或者使用pyQt?我讀過它,但我是Python的新手! – jdecuirm
您可以隨時使用內置的help()函數:help('tkinter')'。從命令行使用'pydoc':'pydoc tkinter'。至於圖書館推薦,我只使用了'tkinter'和'PyGTK +'。在這個階段我不會爲你推薦'PyGTK +',所以我不能真正幫助你。 – zondo
非常感謝!在你的幫助下度過了我的夜晚! – jdecuirm