Ah, i see from your deleted post what you say.
When QListWidget is clicked first time, it receives focus
When you then click a button, that button is now given focus.
Focus is not the same as selected for QListWidget.- one or more item can be selected.
You can try
qDebug() << ui->listWidget->currentItem()->text();
in button.

IF u have this case,
user click on Tab
In tab there are many widget so he need to scroll to see last of them, then u just use
a scroll area and put all stuff inside. then it will just work. ScrollArea have scrollbars.
U can control if both horz and vert or just horz.

If you have the need to show tabular data on two columns then yes QTableView is the right tool. After that, what kind of model will you be using ? How much data will be shown ? Depending on that QTableWidget might be enough.

After digging the issue, the cause was related with permission in folder /dev/galcore (in my case, galcore is the Vivante GPU driver).
To test the solution, you could change the owner of the folder as below:

The only leak I can find is caused by ui->lvwFile->setModel(model). setModel(model) does not free the old model, instead you need to delete it manually. Your coding style could use some fine tuning init_styleditemdelegate_cell is absolutely horrible class name, and you could add a few newlines here and there to group logical pieces together.

I do not have to use cmake,
We just build vtk and qt and link to them in VS project.

If it is linked but you get run-time error it means there is lack of run-time initialization ( related to system/driver specific needs),
If you used CMAKE this would be handled buy cot it generate.
Above given code provides initialization of some modules and is sufficient for me .