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(): 返回鼠标的位置.
==========================================
使用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();
- }