iamli01 |
2017-07-18 10:16 |
在QTabWidget中添加QlistWidget到tab,为什么第一个tab的listWidget排列跟其他的刚好相反
求助!!我在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); 设置了横排 [attachment=17489] 第二个和第三个tab我设置的横排,结果也是横排 [attachment=17491]
求大神解惑
|
|