- 浏览: 767898 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (1045)
- 数据结构 (36)
- UML与设计模式 (42)
- c++ (87)
- rust (36)
- Qt (41)
- boost模板元编程 (43)
- Linux (77)
- 汇编 (4)
- 其它 (2)
- 烹饪 (3)
- unix c / socket (73)
- 软件工程 (4)
- shell (53)
- Python (37)
- c++ primer 5th(c++11) (22)
- 数据库/MySQL (27)
- 数据存储 (4)
- lisp (7)
- git (4)
- Utility (3)
- CDN与DNS (54)
- Http (53)
- php (7)
- nginx/lua/openresty (41)
- redis (11)
- TCP/IP (16)
- 互联网 (6)
- kernel (2)
- go (34)
- 区块链 (43)
- 比特股 (13)
- 以太坊 (23)
- 比特币 (23)
- 密码学 (10)
- EOS (53)
- DAG (1)
- docker (1)
- filecoin (7)
- solidity (65)
- ipfs (8)
- 零知识证明 (1)
- openzeppelin (3)
- java (1)
- defi (7)
- Ton (0)
最新评论
原文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.
设置日志:我用了下,感觉没有打时间啊,而且比较粗糙。。。回头有时间自己加点代码完善下
狂奔的蜗牛很给力
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(); }
发表评论
-
mac无法debug
2019-09-23 17:36 257升级新的lldb,底层脚本用的py3,而qtcreator暂不 ... -
现有项目生成pro文件
2018-07-21 15:32 1283qmake -project -
QtCreator使用arm编译器
2014-04-18 16:19 1226构建工具链各种不和谐,心一狠,直接改最原始的配置文件 1.首 ... -
qtcreator c++11
2013-07-15 22:10 1385在.pro里面:QMAKE_CXXFLAGS += -std= ... -
qt webkit
2013-03-28 17:27 817arora是一个很不错的开源的浏览器,我说它不错并不见得它的性 ... -
qt profile
2012-05-29 17:04 5387这篇文章是我从360doc上转的,本来是要把转的url列出来的 ... -
QtConcurrent
2012-05-26 14:48 2024当我们想在一个或多个辅助线程执行的同时做一些后台处理且无须使用 ... -
QThreadPool
2012-05-23 22:24 2205#include<QThreadPool> ... -
用qtcreator但不用qt库
2012-04-17 10:48 1318pro file: QT -= core gui -
qtcreator缺少编码
2012-04-14 13:46 877将plugins/codecs复制到yourcreator/b ... -
Qt mysql相关
2011-11-28 23:44 1793sudo apt-get install mysql-serv ... -
Qt自定义事件
2011-08-31 14:48 5315先看下官方的文档:(google translation) Q ... -
QComboBox下拉item变灰
2011-07-21 10:10 1947qobject_cast<QStandardItemMo ... -
Qt国际化
2011-07-21 09:37 9741.先在.pro中加入一行:TRANSLATIONS = xx ... -
Qt读写xml
2011-07-20 10:49 6465test.xml <?xml version=&qu ... -
Qt多线程
2011-07-18 21:08 1455Qt中线程安全的类有QMutex,QMutexLocker,Q ... -
生产者与消费者
2011-07-16 09:42 2#include<iostream> #in ... -
Qt读写二进制文件
2011-07-11 22:11 5680DataStream.h #ifndef DATASTRE ... -
QItemDelegate
2011-07-09 10:57 1893.h #ifndef DIALOG_H #define ... -
Qt的文本文件读写
2011-07-02 17:00 3263mainwindow.h #ifndef MAINWIND ...
相关推荐
QTableView结合QStandardItemModel或者QSqlTableModel等模型类,可以实现数据的动态加载与编辑。本篇文章将深入探讨如何在QTableView中实现鼠标移动时显示提示框,提供用户友好的交互体验。 首先,我们要明白...
本篇文章将深入讲解如何在`QTableView`中实现自定义的CheckBox显示,并基于`macOS 10.13.1`和`Qt 5.9.1`的开发环境进行详细阐述。 首先,我们需要理解`QTableView`的工作原理。`QTableView`依赖于`...
实现QFileSystemModel+QTableView创建文件管理系统,基于windows平台。 进一步优化该功能,为了适配嵌入式arm平台,实现QFileSystemModel的自定义修改图标功能。这样用户可以通过不同文件类型需求,自定义自己所要...
Qt GUI 图形图像开发之 QT 表格控件 QTableView 详细使用方法与实例 Qt GUI 图形图像开发中,QTableView 是一个非常重要的控件,它可以显示表格数据,实现数据的可视化展示。下面将详细介绍 QTableView 的使用方法...
通过设置`setItemDelegate`,我们可以为特定的列或整个表格指定自定义的代理,从而实现定制的数据显示和编辑。例如,对于包含复选框的列,你可以创建一个`QAbstractItemDelegate`的子类,并实现`paint`和`...
在Qt框架中,QTableView是用于显示表格数据的控件,它可以用来展示数据库或模型中的信息。当你想要自定义QTableView中的单元格,比如在编辑时改变字体颜色,需要进行一些编程工作。以下是一个详细的过程,指导你如何...
本文将详细讲解如何设置QTableView的列宽,以优化表格的显示效果。 方法一:使用`setSectionResizeMode()`方法 这个方法主要用于让表格自动调整列宽以适应内容的大小。通过调用QTableView的水平表头...
最后,将`CustomDelegate`设置给`QTableView`的`setItemDelegate()`,并设置`model`和`view`,这样`QTableView`就能显示自定义的Checkbox和文件图标了。 ```cpp QTableView tableView; tableView.setItemDelegate...
然后,我们使用setModel方法将数据模型与QTableView绑定。 二、设置表格属性 设置表格属性包括设置列宽不可变动、设置表格的各列的宽度值、隐藏行头、设置选中时为整行选中、设置表格的单元为只读属性等。在上面的...
本篇将详细讲解如何利用QTableView与Model协同工作,实现复杂的功能,如在视图中添加QCheckBox、显示图片以及实现单击事件。 首先,理解QTableView与Model的关系至关重要。QTableView只是一个视图组件,它依赖于一...
在Qt框架中,QTableView是用于显示表格数据的视图组件,它允许用户查看和编辑由模型提供的数据。在特定的开发场景中,我们可能需要增强QTableView的功能,例如为表格中的每一行添加复选框或者下拉框控件,以提供更多...
3. **设置数据模型**:将创建的数据模型与QTableView关联起来。 ```cpp tableView->setModel(model); ``` 4. **调整列宽**:为了确保数据显示得清晰,你可能需要自动调整列宽以适应内容。 ```cpp tableView->...
在Qt框架中,`QTableView`是一个非常常用的控件,用于显示二维表格数据。默认情况下,`QTableView`中的单元格内容是不支持自动换行的,而是将文本截断或者显示省略号。要实现内容自动换行,我们可以利用Qt的代理...
在Qt框架中,QTableView是用于显示表格数据的控件,尤其在处理大量数据时,其性能优化至关重要。本教程将深入探讨如何使用QTableView高效地显示超过100万条大数据,确保流畅运行而不会卡顿。 首先,QTableView是...
QTableView+QComboBox简单使用。采用Qt代理的方式,用QComboBox做了指定列的代理。 功能: 1. 采用QComboBox作为QtableView某一列的代理 2. 可添加QtableView的项; 3. 可删除QtableView的项;
在Qt框架中,QTableView是用于显示表格数据的控件,通常与QAbstractItemModel或QStandardItemModel一起使用。然而,QTableView的功能可以进一步增强,通过实现动态代理(Dynamic Proxy)来扩展其交互性。动态代理...
1)分页显示列表功能包括:前后分页,指定页面跳转,设置单页显示条数 2)点击标题栏实现列表内容排序功能(这个功能花了我很长时间,在全网就没找到合适的解决方法,要不是参考了Qt开发经验,采用了变通解决办法才...
在Qt框架中,QTableView是用于显示表格数据的控件,它可以用来展示数据库或模型数据。在实际开发中,我们经常需要对QTableView进行自定义,例如在其单元格内添加更多的交互元素,如QSpinBox(数值选择器)、...
QTableView可以与不同的数据模型(如QStandardItemModel、QAbstractTableModel或QSqlTableModel)结合,来显示和编辑表格数据。在这个主题中,我们将深入探讨QTableView中的数据角色(Role),以及它们如何影响表格...
在Qt框架中,QTableView是用于显示二维数据的视图组件,它允许用户查看和编辑表格数据。在实际开发中,我们经常需要根据数据内容自动调整表格的列宽和行高,以确保所有数据都能清晰地展示出来。针对这个需求,你提到...