This is my signal argument, but I don't get what it's saying. Is this like a really fancy pointer to a function? I would go to the documentation but idk where to look for this. The (QComboBox::*)(int) is especially confusing because it essentially points to nothing, right? Shouldn't a scope have to have something after the :: ?

In compile time. The Qt use compare string ways to connect signal and slots. It is In Qt4, using the SIGNAL and SLOT we do not need to distinguish these signal has same function and different parameters.

But in Qt5. we can use pointer of signal and slot function in connect. like

connect(cbox,&QComboBox::currentIndex,this,&Window::slot_function); /// I want use index
connect(cbox,&QComboBox::currentIndex,this,&Window::slot_function); /// I want use text

But, Qt don't know which function you want to use. so when we use pointer of function in connect, if signal or slot has overloaded. we should convert pointer type of function to tell Qt which function we want to connect.

so we used static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), tell Qt, I want to use index not text.