标签: qtableview

如何在QTableView中打开URL

什么是提供一个最好的办法可点击的URL QTableView(或者QTreeView,QListView等...)

给定QStandardItemModel一些列包含带有URL的文本的位置,我希望它们可以变为可点击,然后通过使用来处理单击QDesktopServices::openURL()

我希望有一些简单的方法来利用QLabeltextInteraction标志并将它们塞进表中.我无法相信没有更简单的方法来处理这个问题.我真的希望我错过了一些东西.

c++ url qt qt4 qtableview

8
推荐指数
2
解决办法
2401
查看次数

Qt Qtableview没有收到标题项目点击的信号

我使用QtableviewQsqlTableModel用于填充表的数据.我想根据列标题上的用户选择对列进行排序.

我试过QTableView排序信号中提到的方式获取信号(获取水平标头QtableView并连接信号sectionclicked(int logical index).但是当我点击列标题时,相同的信号不会被发出.

请找到连接完成的代码:

成员变量:

QHeaderView *m_horiz_header;
Run Code Online (Sandbox Code Playgroud)

.cpp文件

m_sqltablemodel->setTable(tabel_name);
m_sqltablemodel->setEditStrategy(QSqlTableModel::OnManualSubmit);
m_sqltablemodel->select();

m_horiz_header= m_table_view->horizontalHeader();
connect(m_horiz_header, SIGNAL(sectionClicked ( int logicalIndex ) ),
    this, SLOT(on_sectionClicked ( int logicalIndex ) ));
Run Code Online (Sandbox Code Playgroud)

用于排序的插槽功能:

void class::on_sectionClicked ( int logicalIndex ) 
{
    m_horiz_header->setSortIndicator(logicalIndex, Qt::AscendingOrder);
    m_table_view->sortByColumn(logicalIndex);
}
Run Code Online (Sandbox Code Playgroud)

单击列标题时,不会调用此函数.

在我出错的地方,你能帮助我怎么做吗?

qtableview

8
推荐指数
1
解决办法
9989
查看次数

如何更改QTableView的标题背景颜色

以下是我目前正在尝试的内容.标题文本正确更改颜色,但背景不会更改默认值.

template<typename T>
inline QVariant TableModel<T>::headerData(int section, Qt::Orientation orientation, int role) const
{
    //...
    else if(role == Qt::BackgroundRole) {
        return QBrush(m_display.headerBackground);
    }
    //...
}
Run Code Online (Sandbox Code Playgroud)

如何设置背景颜色?

c++ qt qtableview qabstracttablemodel

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

如何检索QTableView的选定行?

我正在使用QTableView对象类型.这个对象包含几个在线,我使用这个模型:

class PaletteTableModel(QtCore.QAbstractTableModel):
    def __init__(self,colors = [[]],headers =[],parent=None):
        QtCore.QAbstractTableModel.__init__(self, parent)
        self.__colors=colors
        self._headers=headers

    def rowCount(self,parent): 
        return len(self.__colors)

    def columnCount(self,parent):
        return 6        

    def headerData(self,section,orientation,role):
        if role==QtCore.Qt.DisplayRole:
            if orientation==QtCore.Qt.Horizontal:
                return self._headers[section]  
            else:
                return QtCore.QString("Credit %1").arg(section+1) 

    def data(self,index,role):
        if role==QtCore.Qt.ToolTipRole:
            row=index.row
            return "Crédit"
        if role==QtCore.Qt.EditRole:
            row=index.row()
            column=index.column()
            return self.__colors[row][column]
        if role==QtCore.Qt.DisplayRole:
            row=index.row()
            column=index.column()
            value=self.__colors[row][column]
            return value  

    def setData(self,index,value,role=QtCore.Qt.EditRole):
        if role==QtCore.Qt.EditRole:
            row =index.row()
            column=index.column()
            ch=(value)

            self.__colors[row][column]=ch
            self.dataChanged.emit(index,index)
            return True

    def flags(self, index):
        return QtCore.Qt.ItemIsEnabled|QtCore.Qt.ItemIsEditable|QtCore.Qt.ItemIsSelectable
Run Code Online (Sandbox Code Playgroud)

我想要检索此tableView的所选行.任何人请帮助我,如果可能的话我想要一个python代码

python pyqt qtableview pyqt4 python-2.7

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

验证QTableView中的用户输入

我有一个QTableView,我想验证用户输入.如果用户在单元格中插入无效值QTableView,我想突出显示该单元格并禁用a QPushButton.

我怎样才能做到这一点?我可以用QValidator吗?

qt qtableview qvalidator

8
推荐指数
2
解决办法
5240
查看次数

QTableView列宽

我正在努力手动设置列宽QTableView.为什么这段代码不起作用?

tabb = new QTableView;
tabb->resizeColumnsToContents();

for (int col=0; col<20; col++) 
{
   tabb->setColumnWidth(col,80);
}
Run Code Online (Sandbox Code Playgroud)

如果我省略tabb->resizeColumnsToContents();它仍然不起作用.

c++ qt qtableview

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

PyQt4强制从QAbstractItemModel查看fetchMore

我有一个QTableView,可以动态加载来自继承QAbstractItemModel的自定义模型的数据.该模型实现了fetchMore和canFetchMore.

问题是我希望能够为小数据集选择所有行,但如果我在视图中点击ctrl-a,它只会选择当前加载的行.

是否有某种机制强制QTableView获取更多行?理想情况下,我想显示一个进度条,指示从模型加载的数据部分.每隔几秒钟我就想强制模型加载更多的数据,但我仍然希望让用户与目前已加载的数据进行交互.这样,当进度条完成时,用户可以按ctrl-a并确信所有数据都已被选中.


编辑:我有另一个激励用例.我想跳转到特定的行,但如果没有加载该行,我的界面什么都不做.

如何强制QAbstractItemModel获取更多(或特定行),然后强制QTableView显示它?

如果我没有实现fetchMore和canFetchMore,之前的功能可以正常工作,但加载表格非常慢.当我实现这些方法时,情况正好相反.没有这个问题的答案导致我的qt界面的可用性问题,所以我正在为这个问题打开奖金.

这是我用来选择特定行的方法.

def select_row_from_id(view, _id, scroll=False, collapse=True):
    """
        _id is from the iders function (i.e. an ibeis rowid)
        selects the row in that view if it exists
    """
    with ut.Timer('[api_item_view] select_row_from_id(id=%r, scroll=%r, collapse=%r)' %
                  (_id, scroll, collapse)):
        qtindex, row = view.get_row_and_qtindex_from_id(_id)
        if row is not None:
            if isinstance(view, QtWidgets.QTreeView):
                if collapse:
                    view.collapseAll()
                select_model = view.selectionModel()
                select_flag = QtCore.QItemSelectionModel.ClearAndSelect
                #select_flag = QtCore.QItemSelectionModel.Select
                #select_flag = QtCore.QItemSelectionModel.NoUpdate
                with ut.Timer('[api_item_view] selecting name. qtindex=%r' % (qtindex,)):
                    select_model.select(qtindex, select_flag)
                with ut.Timer('[api_item_view] …
Run Code Online (Sandbox Code Playgroud)

python qt pyqt qtableview qabstractitemmodel

8
推荐指数
1
解决办法
867
查看次数

在QTableView中拟合列

在我的TableModel中,我有两列.此模型连接到TableView.我如何设置它们以便这两列填充tableView所以没有可用空间?
编辑:
在此输入图像描述

c++ grid qt qtableview

7
推荐指数
1
解决办法
2224
查看次数

Qt:c ++:如何在QTableView中选择行时创建SIGNAL/SLOT

我有一个QTableView正常工作在GUI上显示我的模型.但是,我想创建一个"SIGNAL/SLOT",当我从中选择一行时,它可以工作QTableView.

我怎样才能做到这一点?

c++ qt model qtableview

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

在QSqlTableModel的QTableView列中显示图像

我很好奇如何在数据库中显示图像QTableView.

有没有这样的东西QTableWidgetItem我可以使用它QTableView

我用QSqlTableModel.

c++ qt qtableview qtablewidgetitem

7
推荐指数
1
解决办法
6940
查看次数