标签: qtableview

QTableView + QSqlTableModel - 如何读取所选行的id

我正在使用QTableView和QSqlTableModel.在我看来,我不显示包含记录ID的列.如果未在任何列中显示,则如何获取所选行的ID?

感谢帮助 :)

qt qt4 qtableview qtsql

7
推荐指数
2
解决办法
3902
查看次数

QTableView滚动到新添加的行

要向模型添加新行,我正在调用beginInsertRowsendInsertRows().如何配置视图以滚动到新添加的行并选择它.我可以通过发送一些信号来做到这一点,但也许Qt有标准的方式.

c++ qt row qtableview model-view

7
推荐指数
2
解决办法
9626
查看次数

Qt QTableView在活动单元格周围绘制边框

我正在尝试在QTableView中实现类似Excel的行为,其中边框绘制在整个当前选择周围.我尝试了这种感觉就像一百种不同的方式,并不断遇到问题.我可以很容易地绘制边框,但只要选择更改,就会留下边框的残余.这是我在QTableView :: paintEvent中尝试过的一个例子......


void MyTableView::paintEvent(QPaintEvent* event)
{
    // call QTableView's paint event first so we can draw over it
    QTableView::paintEvent(event);

    // activeSelection is a list of indexes that is updated in another function
    // the function also calls QTableView::repaint whenever this list changes
    // in an attempt to erase the previously drawn border
    if(!activeSelection.size())
        return;

    QRect rect = visualRect(activeSelection.at(0)) |
           visualRect(activeSelection.at(activeSelection.size() - 1));
    // temporarily draw smaller border so it doesn't lie on the grid lines
    rect.adjust(4, 4, -4, -4); …
Run Code Online (Sandbox Code Playgroud)

qt border qtableview qitemdelegate

6
推荐指数
1
解决办法
3403
查看次数

如何从所选行(QTableView)获取单元格值?

我有一个QTableView,我需要从所选行的第一个单元格获取值(字符串)(可以选择行上的任何单元格).但是,只有在选择了一行时才需要此值.

我想 - 我需要得到所选行的索引,然后得到该行上第一个сell的值,但我找不到办法.

c++ qt qtableview

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

Qt - 如何将我的 QTableView 保存为 Excel 文件?

任何人都可以帮助我,如何将我的QtableView保存为 Excel 文件。我有一个QTableView一个 QPushButton(保存按钮)。如果我在我的 QtableView 中输入值并且如果我单击保存按钮 QTableView 项目应保存为 Excel 文件。请帮帮我。谢谢..

excel qt qtableview qt4.7 qpushbutton

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

为什么我在 QTableView 中看不到放置指示器?

我在我的QTableView(作品)中使用拖放。但是,我没有看到任何下降指标。我应该看到一条应该插入水滴的线,不是吗?至少在这里他们是这么说的。

我的 init 非常标准。

    // see model for implementing logic of drag
    this->viewport()->setAcceptDrops(allowDrop);
    this->setDragEnabled(allowDrag);
    this->setDropIndicatorShown(true);
    this->m_model->allowDrop(allowDrop);
Run Code Online (Sandbox Code Playgroud)

我不知道为什么我看不到指标。样式表与视图一起使用,这可能是原因。但是,我已禁用样式表,但仍然看不到它。

该视图使用整行进行选择,不确定这是否会导致问题。所以任何提示表示赞赏。

- 编辑 -

根据下面的评论,尝试了所有选择模式:单、多或扩展,没有视觉效果。还尝试了单元格而不是行选择,同样没有改进。

-- 编辑 2 --

目前正在评估另一个样式代理示例,类似于下面的,最初引用here

- 有关的 -

QTreeView 绘制下拉指示器
如何在 QTableWidget 中突出显示鼠标悬停的整行:Qt5
https://forum.qt.io/topic/12794/mousehover-entire-row-selection-in-qtableview/7
https://stackoverflow。 com/a/23111484/356726

c++ qt qtableview qt5.6

6
推荐指数
1
解决办法
1417
查看次数

PyQt - 使用 pandas DataFrame 在 QAbstractTableModel (QTableView) 中加载 SQL - 在 GUI 中编辑数据

我对 python 和使用都很陌生WinPython-32bit-2.7.10.3(包括QTDesigner 4.8.7。我正在尝试使用 QtableViews 编写一个接口,以便在两个独立的项目上使用 sqlite 数据库。

\n\n

该算法大致如下:
\n- 连接到数据库并将数据转换为pandas.DataFrame
\n- 将 DataFrame 转换为 QAbstractTableModel
\n- 将 QAbstractTableModel 应用到tableview.model
\n- 加载对话框

\n\n

我没有得到相同的行为,具体取决于用于创建数据帧的 sql:\n给定一个 SQL 表“参数”,具有 3 个字段(LIBELLE 作为 varchar,VALEUR 作为 varchar,TEST 作为布尔值),尝试的 sql 是:

\n\n
    \n
  • \'从参数中选择 LIBELLE AS "Param\xc3\xa8tre", VALEUR AS "Valeur"\'.encode("utf-8")
  • \n
  • \'SELECT * FROM 参数\'.encode("utf-8")
  • \n
\n\n

通过第一个请求,我可以编辑表格视图内的数据。对于第二个请求,我可以选择一个“单元格”,对其进行编辑,但是当我提交版本(按 Enter 键)时,数据将设置回其第一个值。

\n\n

在搜索时,我发现无论“任何”值是什么,setData 代码的这一行都不起作用:

\n\n
self._data.values[index.row()][index.column()] = "anything"\n
Run Code Online (Sandbox Code Playgroud)\n\n

您可以通过删除主代码中第27行开头的#字符来测试sql源的发生率。

\n\n

我已将代码截断到严格的最低限度(非常接近我的第一个项目的原始工作代码),并且我感到非常困惑。如果有人有想法,那就太好了!

\n\n

谢谢

\n\n

PS:我后来发布了代码,但我还没有找到加入的方法sqlite.db...如果有人可以指导我,我会很高兴添加它;与此同时,我已经在我的google.drive上加入了该地段的整个 …

python pyqt qtableview python-2.7 pandas

6
推荐指数
1
解决办法
2543
查看次数

在 PyQt4 中调整 QTableView 的垂直标题的大小?

在此处输入图片说明

我需要减小第一列的大小(带有垂直标题的列)

如何在 PyQt4 中调整 QTableView 的垂直标题的大小?

我有非常大的标题和小的 GUI 块来显示此表,所以请帮助我!

我能够调整所有列的大小,但无法弄清楚调整垂直标题的大小?

我尝试了很多事情,例如:

self.tableView.setColumnWidth(0, 30)  // only able to change the data columns in table not headers

self.tableView.verticalHeader().setResizeMode(QHeaderView.Interactive)  //Able to change the height of headers but not width of them
Run Code Online (Sandbox Code Playgroud)

我想制作可由用户调整大小的标题,并且不依赖于项目的任何其他参数,如窗口大小、其他列的大小......

有人可以帮我弄这个吗?

python resize qtableview pyqt4 qheaderview

6
推荐指数
1
解决办法
4126
查看次数

PyQt。如何在 QTableView 中插入小部件

这里有张桌子:

tab=QTableView()
sti=QStandardItemModel(parent=None)
sti.appendRow([QStandardItem(str(1)),QStandardItem(str(2)),QStandardItem(str(3)),QStandardItem(str(4))])
tab.setModel(sti)
tab.setEditTriggers(QAbstractItemView.NoEditTriggers)
Run Code Online (Sandbox Code Playgroud)

有一个按钮:

btn=QPushButton('Press', self)
btn.clicked.connect(self.on_clicked)
btn.resize(btn.sizeHint())
Run Code Online (Sandbox Code Playgroud)

任务:如何在 QStandardItem(str(4)) 的表格单元格插入中插入按钮 btn?QTableWidget类有一个方法.setCellWidget(),但我是从QTableView继承的。如果我使用 QTableWidget 我将无法使用私有方法 .setModel()

python pyqt qwidget qtableview pyqt5

6
推荐指数
1
解决办法
8861
查看次数

QTableView 选择更改

在这个上搜索了一段时间,但我似乎找不到任何东西。在选择更改时需要 QTableView 的信号。尝试过,tbl_view.itemSelectionChanged.connect(self.select_row)但编译器抱怨这不存在。我还需要从所选行中检索数据。有人可以指出我正确的方向吗?

python pyqt qtableview python-3.x pyqt5

6
推荐指数
1
解决办法
1636
查看次数