我在做文字游戏。我将输入小部件用于玩家输入,将文本小部件用于游戏输出,然后将它们放入框架中。我设置了根窗口的几何形状和框架尺寸以适合该几何形状。但是,帧大小小于预期。具体来说,我的CREATE TRIGGER keep_last_module
ON module
FOR DELETE
AS
BEGIN
IF EXISTS (SELECT *
FROM deleted d
WHERE NOT EXISTS (SELECT *
FROM module m
WHERE m.subjectid = d.subjectid
AND m.modulenr > d.modulenr))
BEGIN
THROW 50000, 'The last module cannot be deleted.', 0;
END;
END;
比预期的要短。我已经完成了一个教程,不确定现在缺少什么。
function first(num){
for (let i = num - 1; i > num || 1; i--){
let numFactorial = i;
console.log(numFactorial);
}
};
first(100);
答案 0 :(得分:2)
要使窗口小部件的大小遵循主窗口小部件或窗口的大小,必须指定如何使用columnconfigure()
和rowconfigure()
完成此操作。然后,您必须通过指示grid()
粘贴到边缘来扩展小部件以填充可用的单元格空间; sticky='nsew'
。查看我的示例:
import tkinter as tk
class Game(tk.Tk):
def __init__(self, *args, **kwargs):
super().__init__(*args,**kwargs)
self.geometry('800x600')
self.columnconfigure(0, weight=1) # Specify how columns and rows will
self.rowconfigure(0, weight=1) # change when window size changes.
# The game's output Text() widget
self.story_text_field = tk.Text(self)
self.story_text_field.grid(row=0, column=0, sticky='nsew',
pady=10, padx=10) # Sticky expands the widget to fill the cell
# The player input Entry() widget
self.player_input_field = tk.Entry(self)
self.player_input_field.grid(row=1, column=0, pady=(0,10))
Game().mainloop()
我已移除框架以使结构更清晰。我也删除了小部件的颜色。我引入了一些填充,以使结果更令人愉悦,并更改了窗口大小,以便于在小屏幕上轻松处理。
有关grid()
的更多信息,我可以推荐effbot的The Tkinter Grid Geometry Manager。您还可以阅读Mike-SMT对Find position of another anchor than the anchor already used的回答,其中详细说明了grid()
和pack()
。