gpt4 book ai didi

c++ - 用 Qt 编写的可执行文件在 Fedora 16 和 18 上表现不同

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:50:33 27 4
gpt4 key购买 nike

简而言之,用 Qt 编写的同一个可执行文件在一台 Fedora 16 PC 上写出彩色 PDF,但在另一台 Fedora 18 上写出灰度 PDF。是否有任何环境变量可以影响 QPen 的颜色设置?

示例程序如下:

#include <QPrinter>
#include <QApplication>
#include <QPainter>

int main(int argc, char *argv[]) {
QApplication app(argc, argv, false);
QPrinter printer(QPrinter::ScreenResolution);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName("test.pdf");
printer.setPaperSize(QPrinter::A4); // default A4
QPainter painter;
if(!painter.begin(&printer)) return 3;
QPen pen;
pen.setColor(Qt::red);
painter.setPen(pen);
painter.drawRect(100, 100, 50, 50);
painter.end();
return 0;
}

在 Fedora 16 上,它会用红线绘制一个矩形。然而,在另一个 Fedora 18 上,矩形是灰色的!

  • Fedora 16 使用 qt-4.8.4-14.fc17.x86_64
  • Fedora 18 使用 qt-4.8.4-17.fc18.i686

我什至尝试将 F18 生成的可执行文件复制到 F16,它成功绘制了一个红色矩形。

我能弄清楚的唯一原因是有一个神奇的环境变量可以改变 Qt 的默认行为。但是我不知道它是哪个变量。

最佳答案

这可能是由于相应系统的默认打印机设置所致(我的猜测)。如果你想强制它着色,使用 QPrinter::setColorMode .

关于c++ - 用 Qt 编写的可执行文件在 Fedora 16 和 18 上表现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16598402/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com