`

QTableView显示tooltip与设置日志

    博客分类:
  • Qt
 
阅读更多
原文http://www.cppblog.com/biao/archive/2009/08/07/92577.html
狂奔的蜗牛很给力

1. 设置QTableView启用鼠标跟踪:
ui->tableView->setMouseTracking(true);

2. 与QTableView的entered信号连接:
connect(ui->tableView, SIGNAL(entered(QModelIndex)),
this, SLOT(showToolTip(QModelIndex)));

3. 糟函数:
void Widget::showToolTip(const QModelIndex &index) {
if (!index.isValid()) {
qDebug() << "Invalid index";
return;
}
QToolTip::showText(QCursor::pos(), index.data().toString() + "\ngoto hell");
}
QCursor::pos(): 返回鼠标的位置.

4. 使用QTableView自己带的函数,函数原型如下:

ui.tableWidget->resizeColumnToContents (0);

将第一列根据内容自动调整列宽。

根据内容自动调整某列的列宽
void QTableView::resizeColumnToContents ( int column ) [slot]
Resizes the given column based on the size hints of the delegate used to render each item in the column.


根据内容自动调整所有列的列宽
void QTableView::resizeColumnsToContents () [slot]

Resizes all columns based on the size hints of the delegate used to render each item in the columns.

根据内容自动调整某一行的行高
void QTableView::resizeRowToContents ( int row ) [slot]
Resizes the given row based on the size hints of the delegate used to render each item in the row.

根据内容自动调整所有行的行高。
void QTableView::resizeRowsToContents () [slot]

Resizes all rows based on the size hints of the delegate used to render each item in the rows.

设置日志:我用了下,感觉没有打时间啊,而且比较粗糙。。。回头有时间自己加点代码完善下

#include <QtDebug>
#include <QFile>
#include <QTextStream>

void customMessageHandler(QtMsgType type, const char *msg)
{
        QString txt;
        switch (type) {
        //调试信息提示
        case QtDebugMsg:
                txt = QString("Debug: %1").arg(msg);
                break;

        //一般的warning提示
        case QtWarningMsg:
                txt = QString("Warning: %1").arg(msg);
        break;
        //严重错误提示
        case QtCriticalMsg:
                txt = QString("Critical: %1").arg(msg);
        break;
        //致命错误提示
        case QtFatalMsg:
                txt = QString("Fatal: %1").arg(msg);
                abort();
        }

        QFile outFile("debuglog.txt");
        outFile.open(QIODevice::WriteOnly | QIODevice::Append);
        QTextStream ts(&outFile);
        ts << txt << endl;
}

int main( int argc, char * argv[] )
{
        QApplication app( argc, argv );

        //先注册自己的MsgHandler
        qInstallMsgHandler(customMessageHandler);        
        
        //以后就可以像下面这样直接打日志到文件中,而且日志也会包含时间信息
        qDebug("This is a debug message at thisisqt.com");
        qWarning("This is a warning message  at thisisqt.com");
        qCritical("This is a critical message  at thisisqt.com");
        qFatal("This is a fatal message at thisisqt.com");

        return app.exec();
}

分享到:
评论

相关推荐

    QTableView 鼠标移动显示提示框

    QTableView结合QStandardItemModel或者QSqlTableModel等模型类,可以实现数据的动态加载与编辑。本篇文章将深入探讨如何在QTableView中实现鼠标移动时显示提示框,提供用户友好的交互体验。 首先,我们要明白...

    QTableView显示自定义CheckBox

    本篇文章将深入讲解如何在`QTableView`中实现自定义的CheckBox显示,并基于`macOS 10.13.1`和`Qt 5.9.1`的开发环境进行详细阐述。 首先,我们需要理解`QTableView`的工作原理。`QTableView`依赖于`...

    QFileSystemModel+QTableView显示自定义图标icon

    实现QFileSystemModel+QTableView创建文件管理系统,基于windows平台。 进一步优化该功能,为了适配嵌入式arm平台,实现QFileSystemModel的自定义修改图标功能。这样用户可以通过不同文件类型需求,自定义自己所要...

    Qt GUI图形图像开发之QT表格控件QTableView详细使用方法与实例

    Qt GUI 图形图像开发之 QT 表格控件 QTableView 详细使用方法与实例 Qt GUI 图形图像开发中,QTableView 是一个非常重要的控件,它可以显示表格数据,实现数据的可视化展示。下面将详细介绍 QTableView 的使用方法...

    QTableView 标题换行显示和富文本显示 qt5.8

    通过设置`setItemDelegate`,我们可以为特定的列或整个表格指定自定义的代理,从而实现定制的数据显示和编辑。例如,对于包含复选框的列,你可以创建一个`QAbstractItemDelegate`的子类,并实现`paint`和`...

    示例:如何设置编辑QTableView单元格时的字体颜色

    在Qt框架中,QTableView是用于显示表格数据的控件,它可以用来展示数据库或模型中的信息。当你想要自定义QTableView中的单元格,比如在编辑时改变字体颜色,需要进行一些编程工作。以下是一个详细的过程,指导你如何...

    QT - QTableView表格视图的列宽设置 - 王严の博客 - CSDN博客1

    本文将详细讲解如何设置QTableView的列宽,以优化表格的显示效果。 方法一:使用`setSectionResizeMode()`方法 这个方法主要用于让表格自动调整列宽以适应内容的大小。通过调用QTableView的水平表头...

    QTableView同时显示自定义Checkbox和文件图标

    最后,将`CustomDelegate`设置给`QTableView`的`setItemDelegate()`,并设置`model`和`view`,这样`QTableView`就能显示自定义的Checkbox和文件图标了。 ```cpp QTableView tableView; tableView.setItemDelegate...

    QT QTableView用法总结

    然后,我们使用setModel方法将数据模型与QTableView绑定。 二、设置表格属性 设置表格属性包括设置列宽不可变动、设置表格的各列的宽度值、隐藏行头、设置选中时为整行选中、设置表格的单元为只读属性等。在上面的...

    qtableview和model配合使用,实现复杂功能

    本篇将详细讲解如何利用QTableView与Model协同工作,实现复杂的功能,如在视图中添加QCheckBox、显示图片以及实现单击事件。 首先,理解QTableView与Model的关系至关重要。QTableView只是一个视图组件,它依赖于一...

    QTableView添加复选框,下拉框控件

    在Qt框架中,QTableView是用于显示表格数据的视图组件,它允许用户查看和编辑由模型提供的数据。在特定的开发场景中,我们可能需要增强QTableView的功能,例如为表格中的每一行添加复选框或者下拉框控件,以提供更多...

    使用QTableView显示本地字段信息

    3. **设置数据模型**:将创建的数据模型与QTableView关联起来。 ```cpp tableView-&gt;setModel(model); ``` 4. **调整列宽**:为了确保数据显示得清晰,你可能需要自动调整列宽以适应内容。 ```cpp tableView-&gt;...

    设置QTableView的内容自动换行,代理方式

    在Qt框架中,`QTableView`是一个非常常用的控件,用于显示二维表格数据。默认情况下,`QTableView`中的单元格内容是不支持自动换行的,而是将文本截断或者显示省略号。要实现内容自动换行,我们可以利用Qt的代理...

    QTableView大数据源码

    在Qt框架中,QTableView是用于显示表格数据的控件,尤其在处理大量数据时,其性能优化至关重要。本教程将深入探讨如何使用QTableView高效地显示超过100万条大数据,确保流畅运行而不会卡顿。 首先,QTableView是...

    QTableView+QComboBox简单使用

    QTableView+QComboBox简单使用。采用Qt代理的方式,用QComboBox做了指定列的代理。 功能: 1. 采用QComboBox作为QtableView某一列的代理 2. 可添加QtableView的项; 3. 可删除QtableView的项;

    qt qtableview动态代理

    在Qt框架中,QTableView是用于显示表格数据的控件,通常与QAbstractItemModel或QStandardItemModel一起使用。然而,QTableView的功能可以进一步增强,通过实现动态代理(Dynamic Proxy)来扩展其交互性。动态代理...

    Python+PyQt5+Mysql通过QSqlQueryModel实现的QTableView分页显示,表头排序等功能

    1)分页显示列表功能包括:前后分页,指定页面跳转,设置单页显示条数 2)点击标题栏实现列表内容排序功能(这个功能花了我很长时间,在全网就没找到合适的解决方法,要不是参考了Qt开发经验,采用了变通解决办法才...

    QTableView中添加各种代码(QSpinBox QconboBox QPushbutton 等)

    在Qt框架中,QTableView是用于显示表格数据的控件,它可以用来展示数据库或模型数据。在实际开发中,我们经常需要对QTableView进行自定义,例如在其单元格内添加更多的交互元素,如QSpinBox(数值选择器)、...

    详解QTableView表格视图的相关数据角色role.zip

    QTableView可以与不同的数据模型(如QStandardItemModel、QAbstractTableModel或QSqlTableModel)结合,来显示和编辑表格数据。在这个主题中,我们将深入探讨QTableView中的数据角色(Role),以及它们如何影响表格...

    QTableView 封装,支持自动调整每一行和每一列的大小,只需要传入宽高和头就可以

    在Qt框架中,QTableView是用于显示二维数据的视图组件,它允许用户查看和编辑表格数据。在实际开发中,我们经常需要根据数据内容自动调整表格的列宽和行高,以确保所有数据都能清晰地展示出来。针对这个需求,你提到...

Global site tag (gtag.js) - Google Analytics