It looks like you've put a lot of work into this and it appears to function well. There are only a few suggestions - see below.
I agree with the comment by user3342816 that the flipped sliders seem counter-intuitive.
The performance tag was not originally added to the post but that should definitely be a consideration for UI elements. ...
You didn't give an example of your text file, maybe that would shed some light on the use of a combo box instead of a text widget.
You started out with using self in your class but soon used master.
master.combo = Combobox(root)
Using self. prefix allows you to access the objects, widgets and any other data in other functions.
One thing that makes it kludgy is using GlobalScope, which is discouraged by the coroutines design lead. In this case, if this were a very long-running job, you would be leaking your UI elements because they are captured by the coroutine.
Also, since you are using Room, you can make your DAO's getAllWidgets() a suspend function, in which case, there's no ...
Using and tracking this is confusing at times. Have I been over-the-top in my use of this?
I don't feel it is "over-the-top" though storing a reference to this in another variable is a sign that context isn't bound properly. Bear in mind that an arrow function "Does not have its own bindings to this or super, and should ...
You should write a function that takes care of asking the user for input. It should be able to assign a type and validate the input. This way you can continue asking for a valid input for each of the variables independently. It also allows you to validate the second variable using the value of the first.
def ask_user(message, type_=str, valid=lambda x: True, ...