• 5358阅读
  • 2回复

[共享]设置无边框(标题栏)的应用程序和删除行函数 [复制链接]

上一主题 下一主题
离线jszzz119
 

只看楼主 倒序阅读 楼主  发表于: 2012-01-31
关键词: QTableWidge

设置无边框(标题栏)的应用程序
QApplication a(argc, argv);
MainWindow w;

w.setWindowOpacity(1);
w.setWindowFlags(Qt::FramelessWindowHint);
w.setAttribute(Qt::WA_TranslucentBackground);
w.show(); [size=; font-size:10.5000pt,10.5000pt][font='Times New Roman']

QTableWidgte
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); 选择行
ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection); 单一选组
ui->tableWidget->clearSelection();取消选中
ui->tableWidget->setEditTriggers ( QAbstractItemView::NoEditTriggers );禁止编辑
删除行函数
QItemSelectionModel *selectionModel = ui->tabl->selectionModel();//获得当前的模型类型
QModelIndexList selected = selectionModel->selectedIndexes(); //获得选择项的列表,即选择
QMap<int, int> rowMap;                                                 了哪几行
   foreach (QModelIndex index, selected)//记录已选择行的<键,值>对
          rowMap.insert(index.row(), 0);
   int rowToDel; //记录当前删除行
   //定义一个迭代器,并定位rowmap的反面
      QMapIterator<int, int> rowMapIterator(rowMap);
      rowMapIterator.toBack();
      while (rowMapIterator.hasPrevious())
         {
             rowMapIterator.previous();
             rowToDel = rowMapIterator.key();
             ui->tabl->removeRow(rowToDel);[size=font-size: 10.5pt,10.5pt][font='Times New Roman']
}
《铸╰
离线XChinux

只看该作者 1楼 发表于: 2012-02-06
删除行时要从后往前删
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线jszzz119

只看该作者 2楼 发表于: 2012-02-11
回 1楼(XChinux) 的帖子
不是删除选中行了·· 后面的直接上移了吗?
《铸╰
快速回复
限100 字节
 
上一个 下一个