All in radeon_profile.cpp:
In radeon_profile::detectCards() you figure out all the */cardX/* paths and put them in an array.
But what you actually write in the combobox is "cardY" where Y is the index in that array. What you should write in that combobox is the X from */cardX/* (either that, or you do it more differently)
Because in radeon_profile::figureOutGPUDataPaths() you use ui->combo_gpus->currentIndex() to get a gpuIndex that you insert into the paths like "/sys/class/drm/card"+gpuIndex+"/device/power_method". But what you are getting now is the index of the selected element in the combobox.
That may have a chance of working with two radeon cards, but remember that you only put cards with DRIVER=radeon at the first place in the combobox. My card0 is actually an intel gpu and is not put in the combobox. My card1 is radeon, which is put into the combobox, but being the only element in the combobox it has index 0.
My c++ isn't very strong and I didn't want to spend too much time at it for now, so I just hardcoded QString gpuIndex = "1" in radeon_profile::figureOutGPUDataPaths().
It at least does show something in the GPU data text window but the whole gui is very sluggish and "hangy" and the content vanishes for seconds before being refreshed. Maybe you need to put some stuff for reading the values from the kernel in another thread.