- #1
Darkmisc
- 220
- 31
- TL;DR Summary
- I've tried connecting a button pressed signal with nBut.pressed.connect(test.bind()), but it doesn't work.
Hi everyone
I've downloaded a file explorer for Godot 4. It creates a button for every file in the open directory. When you press the button, it fills a prompt with the path to the file.
This is the code for it:
I'd like to modify the code so that something else happens when you press the button.
I've tried using this code:
The code doesn't give me an error message, but it doesn't print "test" when I press the button. The existing code, however, will run file_open.
I've also tried nBut.pressed.connect("test", self)
nButpressed.connect(self, "test")
and
nBut.pressed.connect("pressed", self, "test")
but none of these work either.
Does anyone know the correct way to do this?
I can't connect the signal in the inspector because I'm not making the buttons manually. I need code to do it because I won't know how many files (and corresponding buttons) there will be in the directory.
Thanks
It won't print when I put print commands into open_folder, although it will print if I put print commands into _ready(). Not sure why that is.
EDIT:
I've downloaded a file explorer for Godot 4. It creates a button for every file in the open directory. When you press the button, it fills a prompt with the path to the file.
This is the code for it:
open file:
nBut.pressed.connect(open_folder.bind(file_name))func open_folder(folder_name:String):
if file:
path = path.get_base_dir()
path = path + "/" + folder_name
set_layout()
I'd like to modify the code so that something else happens when you press the button.
I've tried using this code:
test:
nBut.pressed.connect(test.bind())
func test():
print("test")
The code doesn't give me an error message, but it doesn't print "test" when I press the button. The existing code, however, will run file_open.
I've also tried nBut.pressed.connect("test", self)
nButpressed.connect(self, "test")
and
nBut.pressed.connect("pressed", self, "test")
but none of these work either.
Does anyone know the correct way to do this?
I can't connect the signal in the inspector because I'm not making the buttons manually. I need code to do it because I won't know how many files (and corresponding buttons) there will be in the directory.
Thanks
It won't print when I put print commands into open_folder, although it will print if I put print commands into _ready(). Not sure why that is.
EDIT:
open_folder:
func open_folder(folder_name:String):
print("A")
if file:
print("B")
path = path.get_base_dir()
path = path + "/" + folder_name
set_layout()
Last edited: