How to change Gtk predefined widgets?

Hi there,

I’m trying to build a little help for a friend and therefor would like to have a small UI.

What I want to do: The user should be able to select files (maybe drag and drop them if I have the time and am not totally frustrated until then), then press the button ‘start’, then the program does something cool in the background and when it finishes it shows ‘finished’ und allows to restart.

What I have: I have the overall windows needed. I’ve made them vie Glade, so the look is good, but they can’t do anything until now. Also I made the first few functions: When pressing ‘start’ all the requirements are getting checked (Was something inputted?) and warning windows appear.

What isn’t working / What I could need:
Generally I don’t understand Gtk. The documentation is a little too short for me. It seems I should know something prior like Gtk in C?? That’s why I have quite a few difficulties. Do you know where I can find some informations?

  1. Gtk has a File Chooser Button. When you click on it, the normal explorer appears, you choose your files und then the are shown. I’d like to change the behavior but it seems absolutely impossible. So I tried my own. I’d like to have it like this: Screenshot by Lightshot
    Above is the button to choose the files. It is supposed to open the explorer but then store the file path in the blue marked box below. Can you help me change the File Chooser Button or make something like I want? I just can’t change the attributes because I don’t know how to call the functions.
  2. When I click ‘start’ without doing anything prior the correct warning appears. But when I close it and then click ‘start’ again, an empty window appears. I guess it’s because I typed ‘destroy(warning_window)’ but it also shows ‘This is a bug. Please report it’. So… how do I make a warning Dialog without using the function ‘warning_dialog()’, because I don’t like the design? (This question isn’ really important. It just has to work :slight_smile: )

Thanks in advance. If I can let you know anything, I’m happy to tell you whatever you need. The code is just quite messy at this point, so I wanted to spare you this.

Best regards