求助!!我在
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); 设置了横排

第二个和第三个tab我设置的横排,结果也是横排

求大神解惑
