Qt5.6支持高分辨率

Qt5.6及以后版本支持高分辨率很容易,在QApplication创建之前加入如下代码:

QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); 

打开这个设置之后在高分辨率的电脑上注意:
* 不要混用获取尺寸位置相关的windows API,否则你会发现GetWindowRect获取的窗口宽高和使用QWidget函数width(),height()得到的值是不一样的;
* 如我在程序中使用到了nativeEvent,从MSG中得到x,y坐标也不是我想要的;

目前我的解决办法的是:通过widet->devicePixelRatioF()得到在高分辨显示器上的缩放比ratio,然后MSG中的x,y坐标除以ratio就可以得到正确的值

Qt5.6是一种跨平台的C++应用程序开发框架,它提供了丰富的功能和工具来开发各种类型的应用程序。其中,Qt5.6也提供了对WebSocket协议的支持,使得开发者可以轻松地实现WebSocket通信。 WebSocket是一种在Web浏览器和服务器之间进行全双工通信的协议。它允许服务器主动向客户端推送数据,而不需要客户端发送请求。Qt5.6中的WebSocket模块提供了一组类和函数,用于创建WebSocket客户端和服务器。 在Qt5.6中,使用WebSocket需要以下步骤: 1. 创建一个QWebSocket对象,用于与WebSocket服务器进行通信。 2. 连接到服务器:使用QWebSocket的open()函数连接到WebSocket服务器。 3. 发送和接收数据:使用QWebSocket的sendTextMessage()函数发送文本消息,使用QWebSocket的textMessageReceived()信号接收文本消息。 4. 关闭连接:使用QWebSocket的close()函数关闭与服务器的连接。 以下是一个简单的示例代码,演示了如何在Qt5.6中使用WebSocket: ```cpp #include <QtWebSockets/QWebSocket> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QWebSocket webSocket; webSocket.open(QUrl("ws://localhost:1234")); // 连接到WebSocket服务器 QObject::connect(&webSocket, &QWebSocket::connected, [&webSocket]() { qDebug() << "Connected to server"; webSocket.sendTextMessage("Hello server"); // 发送消息给服务器 }); QObject::connect(&webSocket, &QWebSocket::textMessageReceived, [](const QString &message) { qDebug() << "Received message:" << message; }); return a.exec(); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值