RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-401896

mynameiskostya's questions

Martin Hope
mynameiskostya
Asked: 2023-03-28 18:03:10 +0000 UTC

QPainter:如何在字体中添加没有伪影的文本

  • 6

Qt5,C++。我以编程方式绘制了一张我想添加文本内容的图片。无论我使用什么字体,我都会在输出中遇到神器故障:字母上点缀着点、不准确、“噪音”。

我的代码和屏幕截图的简要示例:

    m_font.setFamily(family);
    m_font.setPointSize(FONT_SIZE);
    m_font.setBold(true);


    QPainterPath path;
    QFontMetrics fm(m_font);
    path.addText(0, fm.height(), m_font, "LOREM IPSUM");

    QPainter painter;
    painter.begin(&img);
    painter.setBrush(Qt::black);
    painter.drawPath(path);
    painter.end();

截屏

我试着玩玩比例尺 - 它没什么用:我将图像和字体增加了 10 倍,并且在显示我使用的图片时QImage::scaled(X, Y)。截屏:

缩放的尝试

如何在最终图片中获得“平滑”的字母样式?

c++
  • 2 个回答
  • 27 Views
Martin Hope
mynameiskostya
Asked: 2022-12-27 15:15:24 +0000 UTC

设置wifi热点的MTU

  • 5

树莓派 4(8GB 内存),树莓派操作系统 x64。在 dnsmasq 上作为 DHCP 和 hostapd 创建接入点。在 /etc/sysctl.conf 中启用转发,在防火墙中启用伪装。插入 USB 调制解调器并通过 wifi 分配其互联网后,一切正常:所有站点均打开,Google ping 等。

向单一付款人添加了一个 wireguard 客户端隧道。配置:

[Interface]
PrivateKey = ....
Address = 10.10.161.200/24, dead::200/120
MTU=1360

[Peer]
PublicKey = ....
Endpoint = server:port
AllowedIPs = 0.0.0.0/0, ::/0

在 Raspberry Pi 本地,当 wireguard 接口启动时,一切都按预期工作:所有流量都通过出口服务器传输。当通过由这个单一付款人分配的 Wi-Fi 工作时,会发生一个事件 - 这个问题的本质。

某些站点,例如https://2ip.ru可以正确打开(显示 wireguard 服务器的输出地址 - 一切正常)。对 Google 的 Ping 运行正常。但!大多数 Internet 资源变得不可用,例如https://habr.com或https://duckduckgo.com。在它们上面,Web 浏览器显示连接超时。在 Debian 下的笔记本电脑和 Android 下的智能手机上检查 - 行为是相同的。笔记本电脑wget https://habr.com也会超时。同时,在单一付款人上,类似的团队成功接收到本站的index.html。

手鼓来到MTU的问题之后。我将笔记本电脑 wi-fi 接口上的默认 MTU 更改为 1360 ( ip link set dev wlanX mtu 1360),所有站点立即开始打开,所有对不同服务的请求都收到了响应。

我不清楚这种行为,因为在其他人相同的情况下,但 wireguard 已关闭,wifi 可以正常工作。值得打开 wireguard - 设备上的互联网部分消失。好吧,我想。让我们更改 MTU,以便自动连接的设备获取此参数。就在这时,我MTU=1360在wireguard config中加了一行,在单板wifi接口上改了这个数字……但是没有效果。ip a在单板的 wlan0 和 wg0 上显示 MTU 1360,但连接的设备不想与上述站点(以及许多其他站点)一起使用,而即时通讯程序和一些其他应用程序在智能手机上正常工作。在笔记本电脑上 - ping 运行良好......

告诉我有什么问题以及如何设置 MTU 以便连接到 Wi-Fi 的设备接收它......(并且没有 wireguard 就不需要手鼓 - 网络正常工作......)

wifi
  • 1 个回答
  • 23 Views
Martin Hope
mynameiskostya
Asked: 2022-08-25 21:55:48 +0000 UTC

Qt C++ 中的随机字符串生成

  • 0

如何使用 Qt C++ 优雅地生成随机文本字符串(可选用 Cyrillic)?

qt
  • 1 个回答
  • 21 Views
Martin Hope
mynameiskostya
Asked: 2022-07-24 16:27:01 +0000 UTC

当文件上传到服务器失败时对客户端的响应

  • 0

一个小的 HTTP 后端是用 Qt C++ 编写的。该网页通过 AJAX 上传文件(FormData()通过 JS 使用):

let file = this.files[0];
let formData = new FormData();
formData.append('file', file);
let xhr = new XMLHttpRequest();
xhr.open("POST", '/url', true);
xhr.send(formData);

xhr.onload = function() {
  ...
}
xhr.onerror = function() {
  ...
}

本地测试进展顺利:整个文件都上传到服务器。但是,在用户 ping > 500ms 的实际条件下进行测试时,只有小文件(最大 100KB)被成功下载,其余的并没有完全下载。也就是说,用户的套接字已关闭,但仅从中检索到文件的一部分(通常是初始部分)。我试图通过尝试发送文件来捕获来自客户端的重复请求,但根本没有这样的请求。结果客户端大惊小怪,不再尝试做任何事情,而服务器实际上是垃圾。

问题:网络服务器如何处理慢速连接,允许您在与用户的网络浏览器的连接不断断开时下载大文件,如果他由于连接错误再次发送 - 一次尝试再次发送文件?谷歌搜索一些关于不完整文件的专门 HTTP 服务器响应没有给出任何结果,并且通常没有对文件上传的信息响应,只有标头 403、200 等。

http
  • 1 个回答
  • 10 Views
Martin Hope
mynameiskostya
Asked: 2022-05-15 13:17:27 +0000 UTC

QMAKE 中 Windows 和 Linux 库的单独连接

  • 0

C++ 项目使用 qmake 构建系统(原生于 Qt)。套接字库lws2_32仅在 Windows 上构建时才链接,它不在 *nix 中,根本不需要。问题出现了:在 Windows 上构建时如何在 * .pro 文件(qmake config,也称为 QtCreator 项目文件)中设置附加库。

这是它的组装方式,但是要在 Linux 下构建,您需要手动删除lws2_32.

LIBS += \
    -lcrypto \
    -lpthread \
    -lws2_32

我试着这样写:

    LIBS += \
    -lcrypto \
    -lpthread

    QMAKE_LIBS_WINDOWS += \
    -lws2_32

但是在同一个 Windows 上,图书馆没有赶上:/

c++
  • 1 个回答
  • 10 Views
Martin Hope
mynameiskostya
Asked: 2021-11-19 22:50:08 +0000 UTC

类中接受参数的类型定义不正确

  • 0

Qt5,C++。中型项目。编写了几个类,其中一些接受指向其他类实例的参数指针以进行交互。一切正常且合乎逻辑,例如:

FirstClass::FirstClass(SecondClass * someObject) { someObject->BigRedButton->setDisabled(true); }

一切都按照父辈遗赠的方式实现:带有声明的头文件和.cpp带有实现的文件。但是,有一种行为对我来说非常难以理解:某个类(普通,带有 GUI 实现)不想充当参数。在任何其他类的构造函数中指定对它的引用并尝试创建此类的实例时,我在签名中看到的不是(StrangeClass *),而是指向 int (!) :的指针(int *)。

让我们称之为神秘类StrangeClass。它是规范实现的:一个头文件和一个实现文件,没什么奇怪的。它的头文件:

class StrangeClass : public QObject
{
   Q_OBJECT

   QLabel * end_date;
   QLabel * label_logo;
   QPlainTextEdit * logWindow;
   QPushButton * bCalc;
   QPushButton * bExit;
   QPushButton * bTest;
   bool firstDisplay;

   public:
   std::vector<QPushButton*> buttons;
   QMainWindow * mainw;

   StrangeClass(FirstClass *); // в конструкторе используется ссылка на другой объект
   void start();

   ~StrangeClass();
   StrangeClass() = delete;
};

我会理解是否存在某种逻辑错误,他们说您不能将指向StrangeClass参数的指针传递给SomeClass,但重点和问题是为什么 QtCreator 告诉我我想将指针传递给构造函数int。如果您在签名中输入任何其他链接和数据类型,一切都会被正确感知,范围没有问题,但StrangeClass*我看到int*.

我希望我能够清楚地描述我的问题。你有没有类似的耙子,如何决定在哪里看?

带有简要说明的屏幕截图片段

c++
  • 1 个回答
  • 10 Views
Martin Hope
mynameiskostya
Asked: 2021-11-19 01:52:19 +0000 UTC

从十六进制(hex)恢复字节信息(uint8_t)

  • 0

uint8_t为了可移植性,加密密钥以十六进制形式从数组中表示:

for(int i = 0; i < KEYSIZE; ++i)
    std::cout << std::setw(2) << std::setfill('0') << std::hex << static_cast<int>(PrivateKey[i]);

由于十六进制的特性,每个信息字节由两个字符表示,即 从一个字节出来多达两个。如何正确将带有十六进制的字符串读入 uint8_t 数组以恢复原始字节信息?

我花了大约五个小时试图在表单中执行任务,reinterpret_cast<const uint8_t*>(publicKey.c_str())直到我意识到问题出在上述现象中,而不是代码的其他部分。但是和他们一起,如果有的话;)

c++
  • 1 个回答
  • 10 Views
Martin Hope
mynameiskostya
Asked: 2021-10-25 04:00:44 +0000 UTC

更新 MSYS2 时出现键错误

  • 1

我更新了 MSYS2。我写:pacman -Sy,它给了我一个错误的密钥: ошибка: msys: неизвестный ключ "4A6129F4E4B84AE46ED7F635628F528CF3053E04"和ошибка: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely,然后它下载了一些包,比如 mingw64 和 mingw64.sig,但最后它给出了ошибка: failed to synchronize all databases。小子直接连网时,如果按照描述的方式坏了怎么更新,至少重新安装一遍(钥匙坏了之后,就不再安装其他常规包了)。

windows
  • 1 个回答
  • 10 Views
Martin Hope
mynameiskostya
Asked: 2021-10-23 02:54:50 +0000 UTC

连接静态库 Qt5Widgets 和 Qt5Core

  • 0

在环境变量中没有 Qt5 的 PC 上,程序不会开始询问以问题名称命名的 dll 文件。该项目是由qmake构建的,我从未处理过。Makefile我没有在 .Debug 中找到该行,LIBS但在Makefile.Release(和 .Debug 分别)中有以下内容:间隔成新行以提高可读性

LIBS = C:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\libQt5Widgets.a 
  C:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\libQt5Gui.a 
  C:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\libQt5Core.a  
  -lmingw32 
  C:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\libqtmain.a 
  -LC:\openssl\lib -
   LC:\Utils\my_sql\mysql-5.6.11-winx64\lib 
  -LC:\Utils\postgresql\pgsql\lib 
  -lshell32

在目录C:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\中,我找到了一个末尾libQt5Widgetsd.a带有“d”的文件。我试图指定它而不是现有的libQt5Widgets.a,但它不起作用。亲爱的,如何连接静力学?

c++
  • 1 个回答
  • 10 Views
Martin Hope
mynameiskostya
Asked: 2021-10-22 16:22:41 +0000 UTC

在 Qt 应用程序中隐藏 Windows 系统提示

  • 0

具有隐藏主窗口 ( ) 的程序通过(例如,MainWindow->hide())发出系统请求,并从返回值中排斥其操作。问题是每次调用都会打开一个命令提示符窗口片刻,这违背了守护程序(后台进程)的目的。如何隐藏系统调用?system("")ping 192.168.0.1system

c++
  • 1 个回答
  • 10 Views
Martin Hope
mynameiskostya
Asked: 2021-10-21 20:26:29 +0000 UTC

在您的班级中创建一个插槽

  • 2

作为任务的一部分,有必要通过按下按钮 ( )QPushButton将相应的字符添加到行中。实现了一些类似的用户授权。有一个类:

struct PStr:public QObject {
private:
  std::string pass = "1234";
  std::string input;
public slots:
  void action(char c, QMainWindow * w)
  {
    input += c;
    if (input == pass)
    {
        w->hide();
    }
  }
};

当调用QObject::connect(button1, SIGNAL(clicked()), p, SLOT(action('1', w)));where PStr * p 时,它会编译,但在运行时会向控制台报错: QObject::connect: No such slot QObject::action('1', w)


有人简要而不详细地建议指定构造函数,定义方法并添加 Q_OBJECT,但后来我卡住了:

class PStr:public QObject {
  Q_OBJECT
public slots:
  void action(char c, QMainWindow * w);
public:
  PStr() {
    
  }
};

void PStr::action(char c, QMainWindow * w)
{
  std::string pass = "1234";
  std::string input;
  input += c;
  if (input == pass)
  {
      w->hide();
  }
}
c++
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5