• 11181阅读
  • 6回复

qt如何统计输入文件的行数和列数? [复制链接]

上一主题 下一主题
离线yzpdsg
 

只看楼主 倒序阅读 楼主  发表于: 2009-09-03
本人乃一新手,最近参照论坛上一位大哥的源码用qt作了一个类似于notepad的文本编辑器。现在还欠缺的是如何用qt来统计所编辑文档的行数和列数?有专用函数吗?
离线lonko
只看该作者 1楼 发表于: 2009-09-03
专用函数估计也是往上循环得出来的,你还不如自己写
离线yzpdsg

只看该作者 2楼 发表于: 2009-09-04
找到了这两个函数:
int QTextCursor::columnNumber () const
int QTextCursor::blockNumber () const
该如何使用呢?
离线dbzhang800

只看该作者 3楼 发表于: 2009-09-04
引用第2楼yzpdsg于2009-09-04 10:01发表的  :
找到了这两个函数:
int QTextCursor::columnNumber () const
int QTextCursor::blockNumber () const
该如何使用呢?


这东西对你没什么用吧。

不就是要统计行数和列数么?

行数,的话,统计一下换行符的个数。或者直接 split 一下,存入QStringList,

列数一样,看好其中一行,统计你所谓的列分割符的个数,或者直接split你的字符串
离线yzpdsg

只看该作者 4楼 发表于: 2009-09-04
啊,不好意思,写错了。是统计行数和字数。字数该怎样统计呢?
离线dbzhang800

只看该作者 5楼 发表于: 2009-09-04
读进来不就是一个字符串么?查个数不行?
离线yzpdsg

只看该作者 6楼 发表于: 2009-09-05
多谢楼上的提醒,已搞定。
void MainWindow::doWordCount()
{

     int result=ui->textEdit->toPlainText().length();

   QMessageBox::warning(this,
                                                        QString::fromLocal8Bit("老大,搞定!"),
                                                        QString::fromLocal8Bit("报告老大,总字数为 %1\n")
                                                        .arg(result));
}
void MainWindow::doLineCount()
{
  int result=ui->textEdit->toPlainText().count('\n');
  result+=1;

   QMessageBox::warning(this,
                                                        QString::fromLocal8Bit("老大,搞定!"),
                                                        QString::fromLocal8Bit("报告老大,总行数为%1\n")
                                                        .arg(result));
}
快速回复
限100 字节
 
上一个 下一个