我想开发一个应用程序,以促进在Mac上使用终端时的体验.我需要从终端获取当前工作目录(cwd).我该如何实现它?我注意到在命令swift之后获取终端输出的答案真的很好,但它似乎仍然无法完美地解决我的问题.我从Apple的文档https://developer.apple.com/reference/foundation/process中学习了Process().currentDirectoryPath 它能做到我需要的技巧吗?我可以像下面一样使用它吗?
let path = Process().currentDirectoryPath
Run Code Online (Sandbox Code Playgroud)
我是swift和Xcode的新手,请帮助我!谢谢!
更新:谢谢你们!似乎两者都有
let path = fileManager.default.currentDirectoryPath
Run Code Online (Sandbox Code Playgroud)
和Process()暂时为我工作.这两者之间有什么不同吗?
我正在尝试实现一个名为“五连胜”的游戏。我创建了一个 15×15 的列表来放置按钮。(我使用 range(16) 因为我还想要一行和一列来显示行号和列号)
我希望我的实现就像一个按钮被点击时一样,它变成了一个标签。但我不知道用户点击了哪个按钮。
我怎样才能实现它?谢谢!
from tkinter import *
root=Tk()
root.wm_title("Five In a Row")
buttonlst=[ list(range(16)) for i in range(16)]
chess=Label(root,width=2,height=2,text='0')
def p(button):
gi=button.grid_info()
x=gi['row']
y=gi['column']
button.grid_forget()
chess.grid(row=x,column=y)
buttonlst[x][y]=chess
for i in range(16):
for j in range(16):
if i==0:
obj=Label(root,width=2,text=hex(j)[-1].upper())
elif j==0:
obj=Label(root,width=2,text=hex(i)[-1].upper())
else:
obj=Button(root,relief=FLAT,width=2,command=p(obj))
obj.grid(row=i,column=j)
buttonlst[i][j]=obj
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
有一个类似的问题如何确定哪个按钮被按下了 Python TKinter 中的按钮网格?. 但我不太明白。
正如您从图像顶部看到的,汉堡按钮NavigationView
与 my 重叠TabView.TabStartHeader
。该TabView
是在Frame
的MainPage
,而 NavigationView
在MainPage
。
现在我希望它们与左侧的汉堡包按钮和右侧的添加按钮水平对齐。我怎样才能做到这一点?
MainPage的XAML:https : //github.com/SeakyLuo/SMPlayer/blob/master/SMPlayer/MainPage.xaml
TabView 的 XAML:https : //github.com/SeakyLuo/SMPlayer/blob/master/SMPlayer/PlaylistsPage.xaml
我知道有两种方法可以做到。但是他们都不适合我。
我尝试的第一种方法是创建一个gameObject,然后放置一个cube(shape)和一个包含Text的画布。我将形状,画布(世界空间)和文本的位置设置为(0,0,0),以便它们可以保持在一起。但是,只有多维数据集出现。禁用多维数据集仍然无法显示文本。
因此,我将其删除,并将“文本网格”添加到形状中,这需要我删除“网格过滤器”。现在我看到的只是一个空白。我的设定有误吗?