I would guess your QTableWidgetItem has wordWrap set to true (default). This works fine for me:
int main(int argc, char** argv)
{
QApplication app(argc, argv);
QTableWidget tw;
tw.setRowCount(1);
tw.setColumnCount(1);
auto item = new QTableWidgetItem("a very long text which is elided in the middle");
tw.setItem(0, 0, item);
tw.setTextElideMode(Qt::ElideMiddle);
tw.setWordWrap(false);
tw.show();
}