求助!!我在QTabWidget中添加QlistWidget到tab,为什么第一个tab的listWidget排列跟其他的刚好相反。无论我设置横排还是竖排,第一个tab都是相反.... addTab 的代码复制代码//后面需要从数据库中获取房间号roomNo来添加tab for (int roomNo = 1; roomNo <= 3; ++roomNo) { QListWidget *listWidget = new QListWidget(); this->addButtonToList(roomNo, listWidget); ui->tableTabWidget->addTab(listWidget, QString("餐厅%1").arg(roomNo)); //QIcon icon1(":/new/icon/images/1.ico"); //tabWidget->addTab(widget, icon1, "Tab1"); }创建listWidget的代码,设置了横排复制代码//往listWidget中添加内容void MainWindow::addButtonToList(int roomNo, QListWidget *listWidget){ //设置图片排列 listWidget->setViewMode(QListView::IconMode); //设置listwidget中的按钮不准拖动 listWidget->setMovement(QListView::Static); //listWidget->setDragEnabled(false); //设置ListWidget是否可以自动排序,默认是false //listWidget->setSortingEnabled(true); //qt给的demo中configdialog的例子中默认是竖向的 //listWidget->setFlow(QListView::TopToBottom); listWidget->setFlow(QListView::LeftToRight); //设置item图标大小 listWidget->setIconSize(QSize(100, 80)); // 需要根据roomNo从数据库中获取餐桌 for (int var = 1; var <= 35; var++) { listWidget->addItem(new QListWidgetItem(QIcon(":/image/image/table.png"), QString("餐桌%1").arg(var))); } listWidget->setViewMode(QListView::IconMode); //设置样式,直接在函数中设置 listWidget->setStyleSheet("QListWidget{border:1px solid gray; color:black; }" "QListWidget::Item{padding-top:20px; padding-bottom:4px; }" "QListWidget::Item:hover{background:skyblue; }" "QListWidget::item:selected{background:lightblue; color:red; }" "QListWidget::item:selected:!active{border-width:0px; background:lightgreen; }" ); // 双击信号 //connect(listWidget,SIGNAL(itemDoubleClicked(QListWidgetItem *p)),this,SLOT());}运行结果:第一个tab中的listWidget排列方式竖排,使用 listWidget->setFlow(QListView::LeftToRight); 设置了横排
描述:tab1图片:TIM截图20170718102128.png第二个和第三个tab我设置的横排,结果也是横排
描述:tab2求大神解惑