• 23888阅读
  • 33回复

【本书勘误】 [复制链接]

上一主题 下一主题
离线yfx2003
 

只看楼主 倒序阅读 楼主  发表于: 2008-09-09
— 本帖被 yfx2003 执行取消置顶操作(2018-06-23) —
勘误列表





页码
错误标志
解决方法
提出人
校正人
404releaseDC缺少参数painter.paintEngine()->releaseDC(hdc);chai2010chai2010
11倒数第5行<QtGui> 头文件包含了QtCore 和QtGui 模块中部分类的全部定义midyskyyfx2003
94Plotter实现文件没有包含头文件#include  "plotter.h"lihaowei2028lihaowei2028


见以下各个回复帖。。。



www.qtcn.org/gpq4/
ajaxref.okajax.com/
离线sbtree
只看该作者 1楼 发表于: 2008-11-04
88页22行错误:鼠标按键按照按位“或”(OR)运算
应该是:鼠标按键按照按位“与”(AND)运算

原文: the value returned by QMouseEvent::buttons() is a bitwise OR of the mouse buttons.
也是英文原版的错误

纠正,英文原文是正确的,个人觉得翻译有待进一步斟酌:

重新读了一下这段文字,又对比了一下英文原文,我觉得问题不是在于“与” 和 “或” 的问题,而是整句语意与原文有出入。我理解的原文是说QMouseEvent::buttons()函数可能由于多个按键同时按下而返回他们的“位或”之后的值,所以我们可以利用这个返回值与期望的按键进行“位与”操作来判断是否期望的按键被按下了。书中的翻译是:由于有可能会同时按下多个键,所以最终结果实际是QMouseEvent::buttons()的返回值与鼠标的按键按位“或”(OR)运算之后的结果。

yfx2003---
一般情况下,为了判定按键事件,都会采用OR运算对多个键值进行计算。这里应当就属于此类情况了。
[ 此贴被yfx2003在2008-11-06 08:20重新编辑 ]
windows 7 + VC++2008 + Qt4.5.2
离线sbtree
只看该作者 2楼 发表于: 2008-11-04
94页倒数24,25行末尾各缺少一个分号,因为是程序代码,分号缺了会造成程序出错

也是英文版原文的错误
[ 此贴被sbtree在2008-11-05 01:50重新编辑 ]
windows 7 + VC++2008 + Qt4.5.2
离线sbtree
只看该作者 3楼 发表于: 2008-11-05
136页第26行和25行之间应该加下面一行
progress.show();
否则代码不能达到预期的效果

看了一下英文电子版的,发现原书中也没有这一行,看来这个错误不是中文版的问题
windows 7 + VC++2008 + Qt4.5.2
离线yfx2003

只看该作者 4楼 发表于: 2008-11-05
如果是需要显示的话,的确应该要此句的。
但不知道有没有上下文的逻辑关系……
www.qtcn.org/gpq4/
ajaxref.okajax.com/
离线sbtree
只看该作者 5楼 发表于: 2008-11-05
上下文讲的是在某些耗时的操作中使用进度条来显示当前的进度信息,以保持用户响应,所以修改了本书spreadsheet例子中的代码。我觉得这一行代码在上下文的逻辑中是绝对有必要加上的。

yfx2003----
如此看来,的确应当不能少的
谢谢
[ 此贴被yfx2003在2008-11-06 08:13重新编辑 ]
windows 7 + VC++2008 + Qt4.5.2
离线shakespark
只看该作者 6楼 发表于: 2008-11-05
第10页倒数第三行:关于这一点,将会再简单的多讲一些
英文版是:We will say more about this shortly

shortly是“稍后,不久”的意思,不是“简单”


yfx2003----
的确是 曲译 了^-^
谢谢
[ 此贴被yfx2003在2008-11-06 08:13重新编辑 ]
离线blueliang
只看该作者 7楼 发表于: 2008-12-01
第232页,倒数第4行,除了在Windows操作系统上认可“\”之外,QDir在所有平台上都把“\”认作是目录分隔符。
第二个“\”应该是“/”。
离线napier

只看该作者 8楼 发表于: 2008-12-04
28 页程序中,行号 12 和 13 的两行印串行了。
离线ceshi
只看该作者 9楼 发表于: 2008-12-05
顶一下,辛苦了
离线yfx2003

只看该作者 10楼 发表于: 2008-12-08
引用第8楼napier于2008-12-04 01:00发表的  :
28 页程序中,行号 12 和 13 的两行印串行了。


我还是没有书:如何串印的?印刷问题还是排版问题?

各位确认下……

谢谢。
www.qtcn.org/gpq4/
ajaxref.okajax.com/
离线napier

只看该作者 11楼 发表于: 2008-12-09
我的书上是这样:

12 void SortDialog::setColumnRange(QChar first, QChar
13 {                                                                                                last)


另外,P44 第 4 行 “设置它的最小尺寸大小为它所能包含的最大字符数(“W999”)和一些空格的总大小” 这句话有些令人费解,似乎不太符合汉语的习惯。看了原文才觉得明白了。

To avoid constant resizing of the location indicator, we set its minimum size to be wide enough to contain the largest possible text ("W999"), with a little extra space.
离线yfx2003

只看该作者 12楼 发表于: 2008-12-17
28页的问题看来的确是编辑排版的问题了!

44页的这一句话翻译的时候页的确是考虑了很久,但感觉总是不爽:编辑要求尽可能去掉书中全部的我们等人称代词;符合汉语主动的语法;一些词的固定译法要全文统一,这里的size可能就是为了保持尺寸大小的问题而产生的副作用吧……

希望大家给出更好的译法
www.qtcn.org/gpq4/
ajaxref.okajax.com/
离线zz331764754
只看该作者 13楼 发表于: 2009-01-02
大家那么厉害。。。
离线smart611

只看该作者 14楼 发表于: 2009-01-14
94    倒数第24,25行各缺少一个分号    添加分号    sbtree    sbtree


倒数24,25行为:

    double spanX() const { return maxX - minX; }
    double spanY() const { return maxY - minY; }


两行行末不需要分号吧?!
请搂主核实一下。
[ 此贴被smart611在2009-01-15 10:33重新编辑 ]
离线smart611

只看该作者 15楼 发表于: 2009-01-15
第15页倒数第10行
这里的sender和receiver是指向QObject的指针,singal和slot是不带参数的函数名。

“不带参数”翻译有误吧。
原文如下:
......where sender and receiver are pointers to QObjects and where signal and slot are function signatures without parameter names.

应该是“...不带参数的......”
[ 此贴被smart611在2009-01-15 08:55重新编辑 ]
离线smart611

只看该作者 16楼 发表于: 2009-01-15
第17页第7行
...,包括一个含有对象的类名以及它所支持的信号和槽的列表。

读起来别扭。
其中“含有对象的类名”无法理解。
原文如下:
..., including the list of signals and slots supported by the object and its class name.

试着修改如下:
“...,包含了对象和它的类名所支持的信号与槽的列表。”
[ 此贴被smart611在2009-01-15 09:01重新编辑 ]
离线turbulent
只看该作者 17楼 发表于: 2009-02-11
引用第2楼sbtree于2008-11-04 18:43发表的  :
94页倒数24,25行末尾各缺少一个分号,因为是程序代码,分号缺了会造成程序出错
也是英文版原文的错误


这个不是错误,书里是正确的。我查过c++ primer这本书,里面给的class的成员函数例子就是没有分号的。另外我在Windows下的VC++和SUSE下的g++里用简单的小程序测试也是没有问题的。

另外有意思的是,在我的小程序里,如果加上分号,也没有问题。精通C++的大侠能否解释一下?
离线turbulent
只看该作者 18楼 发表于: 2009-02-12
第95页图5.9上方的段落开头,setFoucusPolicy应为setFocusPolicy
离线yysr

只看该作者 19楼 发表于: 2009-04-14
The addRow() slot is invoked when the user clicks the Add Row button; it is also used in the constructor. We append a new row using QTableWidget::insertRow(). Then we create two QTableWidgetItems and add them to the table using QTableWidget::setItem(), which takes a row and a column in addition to the item. Finally, we set the current item so that the user can start editing the new row's first item.
中文版P186页将其中的QTableWidget::setItem() 翻译成了QTableWidget::insertRow().
离线sulibin
只看该作者 20楼 发表于: 2009-04-25
书本第63页的最后一个成员函数
QString Spreadsheet::currentLocation() const
{
         return QChar('A' + currentColumn() + QString::number(currentRow() + 1));
}
到底有没有问题啊,为什么我输完第三章与第四章的代码,错误问题会提示在这边,在Eclipse里提示:
“no matching function for call to `QChar::QChar(const QString)'”这个错误
离线sulibin
只看该作者 21楼 发表于: 2009-04-25
关于这个电子表格还有另外两个问题是:
我采用了书本里的第二种sort()方式,结果就一直在
spreadsheet->performSort(dialog.comparisonObject());
有底下这种错误提示:
“'class SortDialog' has no member named 'comparisonObject'”
离线潜行
只看该作者 22楼 发表于: 2009-05-13
很认真,谢谢你们了
离线yjie
只看该作者 23楼 发表于: 2009-06-28
第19页13、15行,“Shift”应该是“ctrl”。
请高台贵手,热情相告。
离线xxf_cz
只看该作者 24楼 发表于: 2009-06-28
第二版中文版 第41页 倒数第三行:

       现在来创建Edit菜单,就像在File菜单中所做的那样使用 QMenu::addMenu() 函数添加各个动作

此处的 QMenu::addMenu()  应为 QMenu::addAction() 。

查英文原版,是正确的。翻译时弄错了。
离线ahnushe

只看该作者 25楼 发表于: 2009-09-21
ding...............................
离线lrbnk

只看该作者 26楼 发表于: 2010-02-02
照书中第20页第一段中的处理方法,在windows下无法将.ui转换为.h。
离线zjf_sdnu
只看该作者 27楼 发表于: 2010-10-27
第472页:从而不能避免不在它上面调用”非常量“的成员函数。
这句话是不是多了个不呀?意思完全反了。
离线83888788
只看该作者 28楼 发表于: 2011-01-22
个人理解
第276页
最上面一排 “在listInfo()中”应该是“在ftpListInfo()中”
第二排“在done(bool)中”应该是“在ftpDone(bool)中”
感觉这样理解才对
离线dugucloud
只看该作者 29楼 发表于: 2011-07-15
引用第14楼smart611于2009-01-14 20:46发表的  :
两行行末不需要分号吧?!
请搂主核实一下。

确实不需要分号。这是内联函数的一种写法。
建议楼主把这部分的勘误删掉。

QIODevice::ReadOnly
离线likeyou
只看该作者 30楼 发表于: 2011-08-03
版主,我顶你
离线msccreater

只看该作者 31楼 发表于: 2013-01-03
支持楼主的行动
离线roywillow

只看该作者 32楼 发表于: 2013-04-12
原来这帖子这么早就存在了啊
不知道是不是翻译的问题,P15页最后一行,一个信号连接多个槽,根据现在Qt的文档来看的话是按照连接的顺序逐一执行,而不是不确定的顺序。
难道说写这本书的时候的Qt确实是随机执行的?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线ashe0817

只看该作者 33楼 发表于: 2013-04-14
第19页,有一段“单击与之相邻的行编辑器时按下Shift键”。这里应该是按Ctrl键才对(多选)
快速回复
限100 字节
 
上一个 下一个