I need to send a set of information to model widget,  QTableView/QTableWidget, Then When user click on a row, can open a new widget with ID of  sent by information to QTableView/QTableWidget. 

I use PyQt
I need to send hidden, it means user can't see my hidden id of database on QTableView/QTableWidget

Primative Question: How can send data to QTableView/QTableWidget without user can see them in TableModel widget such as id of my database table ?
You can hide a column in a QTableWidget by calling setColumnHidden(int column, bool hide) with the column number, and True for the hide option.
A better solution to this would to be to prevent the user interface from ever receiving this information. A Model-View-Controller setup, or the use of a data access layer could ensure that only the relevant information is sent on to the interface and nothing would require hiding.
How to send data to QTableView/QTableWidget (PyQt)