标签: qtableview

如何在QTableView中获取选定的行

看了很多关于获取选定行号的线程后,我真的很困惑.

你如何QTableView使用QStandardItemModel我在下面的选择模型和行为中使用ROW数字

setSelectionBehavior(QAbstractItemView::SelectRows);
setSelectionMode(QAbstractItemView::SingleSelection);
Run Code Online (Sandbox Code Playgroud)

如果你有自己的选择方式,你可以解释它是如何工作的.谢谢您的帮助!

qt row qtableview

39
推荐指数
3
解决办法
7万
查看次数

如何在QTableView中选择Row?

我是QT的新手,我正在使用QTableView,如下所示:

在此输入图像描述

在表的左侧,Qt会自动显示一个行号,正如我用红色标注的那样.我如何摆脱这些数字?

我的另一个问题是,如果我点击任何一个单元格,只选择该单元格.如何在用户点击单元格时选择整行,就像我在粉红色中所说的那样?例如,如果单击testApp-copy.itr单元格,则应选择整个第三行.

qt qtableview

38
推荐指数
1
解决办法
3万
查看次数

如何设置QTableView的行高?

我有QTableViewQAbstractTableModel.我要求行的高度等于24.我知道这样做的唯一方法是通过调用QTableView::setRowHeight.由于模型是动态的,因此可能会添加新行,但setRowHeight每次添加新行时我都不想调用.

如何配置QTableView以使其对新添加的行使用相同的高度,或者可以将模型发送到行的高度?

c++ qt row qtableview qabstracttablemodel

31
推荐指数
1
解决办法
3万
查看次数

QTableWidget与QTableView

我是Qt模型/视图框架的新手.在我的应用程序中,我想要1000 X 1000个单元格.应该有最低内存要求,它应该很快.我不知道这个模型的术语是什么.但我有自己的类知道如何处理存储在表中的双变量.目前我正在使用QLineEdit和Validator来创建单元格数组.但对于> 50 X 50的细胞来说,它太慢了.所以我决定采用旧的MS Excel方式.

那么我应该使用哪个Widget:QTableWidget或者QTableView

任何人都可以简要解释一下这个Model/View框架是什么?我不是计算机科学家,因此我觉得很难理解......

c++ qt qtableview qtablewidget

29
推荐指数
2
解决办法
3万
查看次数

如何确保QTableView中的列调整为最大值

我不知道怎么问这个问题,所以,请随时询问更多信息.

似乎tableView->resizeColumnsToContents()只会根据当前视图中的数据调整所有列的大小.这意味着如果我有更多的数据(在单词数量方面更长),这些单词将被包装(如果wordWrap属性设置为true).

奇怪的是,如果我向下滚动到底部并刷新数据,tableView将正确调整这些列的大小.好像tableView不知道下面有更长的文字.

所以,我的问题是,如何根据所有数据确保将这些列调整为最大值?

我的代码

QSqlTableModel *model = new QSqlTableModel;
model->setTable("item");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select();    
tableResult->setModel(model);    
tableResult->setEditTriggers(QAbstractItemView::NoEditTriggers);    
tableResult->setSelectionBehavior(QAbstractItemView::SelectRows);
tableResult->setSelectionMode(QAbstractItemView::SingleSelection);    
tableResult->resizeColumnsToContents();
tableResult->resizeRowsToContents();
Run Code Online (Sandbox Code Playgroud)

更新1

我试过了tableResult->scrollToBottom(),它只会根据底部的项目调整大小.所以,如果中间有较长的单词,那些单词就会被包裹起来.

更新2

如果有人想了解我在说什么,请下载此示例.您将看到单击PushButton将生成未正确调整大小的数据.

更新3

可能是一个错误:https://bugreports.qt.io/browse/QTBUG-9352

qt qtableview

28
推荐指数
3
解决办法
4万
查看次数

列自动调整大小为QTableView的大小

我是QT的新手,我刚刚设法让QTableView与我的模型一起工作.它固定了3列.当我打开一个窗口时,它看起来不错但是当我调整窗口大小时,QTableView本身会调整大小,但列的宽度保持不变.是否有任何内置方式使其工作?我希望每个窗口调整大小时调整列的大小以适应QTableView的边缘.

c++ qt qtableview

27
推荐指数
4
解决办法
4万
查看次数

QTableView在每个单元格中都有不需要的复选框

我刚刚开始使用Qt编程,我正在尝试使用一个QTableView控件来创建一个简单的表格数据布局,该控件具有继承自己的创建的模型类QAbstractTableModel.出于某种原因,我的表视图最终看起来像这样:

alt text http://users.nerdland.net/tyler/files/pics/qtableview_checkboxes.png

什么在每个单元格中看起来像复选框(但在我点击它们时什么也不做)的东西,我怎么让它们消失?QTableView除了对象的名称,我没有更改任何属性.

如果重要的话,我的模型代码很简单:

MyTableModel::MyTableModel(QObject* parent)
  : QAbstractTableModel(parent)
{
}

MyTableModel::~MyTableModel()
{
}

int MyTableModel::rowCount(const QModelIndex& parent) const
{
  return 1000; 
}

int MyTableModel::columnCount(const QModelIndex& parent) const
{
  return 5;
}

QVariant MyTableModel::data(const QModelIndex& index, int role) const
{
  return "Foo";
}
Run Code Online (Sandbox Code Playgroud)

对话框UI在Qt Designer中构建,在对话框的类中,我将模型附加到视图,如下所示:

MyTableModel testModel = new MyTableModel(this);
ui.testTable->setModel(testModel);
Run Code Online (Sandbox Code Playgroud)

除此之外,我不执行任何操作ui.testTable.

使用Qt 4.6.

c++ qt qt4 qtableview

25
推荐指数
1
解决办法
5780
查看次数

如何让QTableView填充100%的宽度?

这是我的软件的打印屏幕:

如您所见,第一个QTableVIew标题不占用宽度的100%.实际上,场地右侧有一个小的垂直白色空间size.

如何让标题占据宽度的100%QTableView

qt qtableview

25
推荐指数
3
解决办法
3万
查看次数

Qt - QTableView - 表格行中的可点击按钮

我需要能够在a的表行中有一个按钮/链接QTableView.这是打开一个对话框,以便更有效地编辑该行.

经过几个小时的网络搜索,我还没有找到一个体面的例子.

我知道这很可能是使用a来完成的QItemDelegate,但我不确定如何在行中创建一个功能小部件,而不必先将项目强制转换为编辑模式.

任何帮助将不胜感激.

c++ qt qtableview qitemdelegate

22
推荐指数
2
解决办法
2万
查看次数

如何在PyQt中的QTableView中按行而不是单个单元格进行选择?

在下面的示例代码中(受此处影响很大),我希望选择单击单元格的整行而不是单个单元格.如何更改代码以包含该代码?

import re
import operator
import os
import sys
import sqlite3
import cookies
from PyQt4.QtCore import *
from PyQt4.QtGui import *

def main():
    app = QApplication(sys.argv)
    w = MyWindow()
    w.show()
    sys.exit(app.exec_())

class MyWindow(QWidget):
    def __init__(self, *args):
        QWidget.__init__(self, *args)

        # data
        self.tabledata = [('apple', 'red', 'small'),
                          ('apple', 'red', 'medium'),
                          ('apple', 'green', 'small'),
                          ('banana', 'yellow', 'large')]
        self.header = ['fruit', 'color', 'size']

        # create table
        self.createTable()

        # layout
        layout = QVBoxLayout()
        layout.addWidget(self.tv)
        self.setLayout(layout)

    def createTable(self):
        # create the view
        self.tv = …
Run Code Online (Sandbox Code Playgroud)

pyqt selection qtableview

21
推荐指数
2
解决办法
2万
查看次数