人都是会犯错的,所以不要相信别人。

舞会帽子谜题解析
本文探讨了一个经典的逻辑谜题——舞会上的人们通过观察他人帽子颜色来判断自己帽子颜色的问题。作者认为此题目的答案并非唯一且实际操作中人们的反应可能更为复杂。

今天在论坛上面又看到了这样的问题——http://topic.youkuaiyun.com/u/20110310/18/16b7c4e8-40e6-40ce-8554-83cf00a76cd2.html?seed=1451593724&r=72082304#r_72082304

一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少有一顶。每个人都能看到其它人帽子的颜色,却看不到自己的。主持人先让大家看看别人头上戴的是什幺帽子,然后关灯,如果有人认为自己戴的是黑帽子,就打自己一个耳光。第一次关灯,没有声音。于是再开灯,大家再看一遍,关灯时仍然鸦雀无声。一直到第三次关灯,才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑帽子?

 

我觉得这题和海盗分金币的题目一样都是瞎扯淡,把自己行为的决定寄托在别人的正确应对上就像相信微软的vc能和c++兼容一样愚蠢。
从这道题出现的频率来看,许多人都是不懂的正确应对的。
所以真相应该是这样子的:
黑帽子只有两顶;但是戴着黑帽子的人不够聪明(或者足够聪明?!),没有在第二次熄灯时打自己耳光;
结果第三次就有许多自以为是的聪明人噼噼啪啪地打自己耳光啦!!!

 

事实上在许多情况下,人们所做出的决定往往没有什么道理。那些严密的逆向推理往往只存在在侦探小说之中。许多事情往往只是一念,所以有时候还是相信自己的直觉吧!

 

尤其是在做维护的时候。。。。。。

非常抱歉,我理解错误了您的问题。如果您想要控制整个窗口的旋转角度,而不是QDial控件的旋转角度,您可以通过重载QWidget的mousePressEvent(QMouseEvent *event)、mouseMoveEvent(QMouseEvent *event)和mouseReleaseEvent(QMouseEvent *event)函数来实现。具体实现方法如下: ```cpp // 在头文件中声明重载的函数 class MyWidget : public QWidget { Q_OBJECT public: explicit MyWidget(QWidget *parent = nullptr); ~MyWidget(); protected: void mousePressEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); private: QPoint m_lastPos; // 保存鼠标上一个位置的坐标 }; // 在源文件中实现重载的函数 MyWidget::MyWidget(QWidget *parent) : QWidget(parent) { } MyWidget::~MyWidget() { } void MyWidget::mousePressEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) { m_lastPos = event->globalPos(); // 保存当前鼠标位置 } QWidget::mousePressEvent(event); } void MyWidget::mouseMoveEvent(QMouseEvent *event) { if (event->buttons() & Qt::LeftButton) { QPoint delta = event->globalPos() - m_lastPos; // 计算鼠标移动距离 m_lastPos = event->globalPos(); // 保存当前鼠标位置 QMatrix matrix; matrix.rotate(delta.x()); // 旋转矩阵 setMatrix(matrix); // 应用矩阵 } QWidget::mouseMoveEvent(event); } void MyWidget::mouseReleaseEvent(QMouseEvent *event) { QWidget::mouseReleaseEvent(event); } ``` 这样,当用户按下鼠标左键并移动时,窗口会跟着鼠标一起旋转,旋转角度受到限制。您可以根据需要调整矩阵的旋转角度,例如上面的代码中,我们将矩阵的旋转角度设置为鼠标在X轴上移动的距离,这样窗口就会跟随鼠标旋转。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值