我试图将数据库的内容输出到Tkinter小部件.数据库有足够的行和列,我需要启用水平和垂直滚动条,但我很难获得水平和垂直滚动同时工作.我不知道使用了哪个Tkinter小部件,但这是我当前的实现:
# Create root
self.root = Tk()
self.root.geometry('1000x500+0+0')
# Create canvas
self.canvas = Canvas(self.root)
self.canvas.pack(side=TOP, fill=BOTH, expand=TRUE)
# Create scrollbars
self.xscrollbar = Scrollbar(self.root, orient=HORIZONTAL, command=self.canvas.xview)
self.xscrollbar.pack(side=BOTTOM, fill=X)
self.yscrollbar = Scrollbar(self.root, orient=VERTICAL, command=self.canvas.yview)
self.yscrollbar.pack(side=RIGHT, fill=Y)
# Attach canvas to scrollbars
self.canvas.configure(xscrollcommand=self.xscrollbar.set)
self.canvas.configure(yscrollcommand=self.yscrollbar.set)
# Create frame inside canvas
self.frame = Frame(self.canvas)
self.canvas.create_window((0,0), window=self.frame, anchor=NW)
self.frame.bind('<Configure>', self.set_scrollregion)
# Write db contents to canvas
self.print_dbcontents()
# Invoke main loop
self.root.mainloop()
def set_scrollregion(self, event):
self.canvas.configure(scrollregion=self.canvas.bbox('all'))
Run Code Online (Sandbox Code Playgroud)
在这个实现中,我只能在一个方向上滚动,这取决于我如何打包画布:
self.canvas.pack(side=TOP, fill=BOTH, expand=TRUE) # scrolling works in x but …Run Code Online (Sandbox Code Playgroud) 我有一个嵌套列表:
>str(myNestedList)
List of 9
$ : num [1:33, 1:4] 42.84 36.49 12.17 27.64 4.33 ...
$ : num [1, 1:4] 61 NA NA NA
$ : num [1:27, 1:4] 6.63 NA NA NA 1.75 ...
$ : num [1:17, 1:4] 63.6 135.2 NA 31.9 NA ...
$ : num [1:5, 1:4] NA 19.6 42.4 22.3 41.7 ...
$ : num [1:45, 1:4] NA 20.3 12.1 78.4 343.9 ...
$ : num [1:13, 1:4] 47.1 14.3 130.6 12.2 28.2 ... …Run Code Online (Sandbox Code Playgroud) vba新手。需要一个函数来输出打开的工作簿的最后修改日期。这是我到目前为止所拥有的,但是当我调用该函数时,我收到一条消息,指出我的公式包含错误:
Function LastWBModDate(wbname)
ActivateWB (wbname)
LastWBModDate = Format(FileDateTime(ActiveWorkbook.FullName), "m/d/yy h:n ampm")
End Function
Public Function ActivateWB(wbname As String)
If IsWBOpen(wbname) Then
Workbooks(wbname).Activate
Else
MsgBox "Workbook : " & wbname & " is not open " & vbNewLine
End If
End Function
Public Function IsWBOpen(wbname As String) As Boolean
On Error Resume Next
If Workbooks(wbname) Is Nothing Then
IsWBOpen = False
Else
IsWBOpen = True
End If
End Function
Run Code Online (Sandbox Code Playgroud)
谢谢!