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(); }