【问题标题】:gtk printOperation without dialoggtk printOperation 没有对话框
【发布时间】:2021-12-24 09:04:37
【问题描述】:

我正在尝试制作一个没有对话窗口的打印例程,我知道这是使用 PRINT 选项而不是 PRINT_DIALOG 完成的。

Gtk.PrintOperationAction.PRINT_DIALOG
Gtk.PrintOperationAction.PRINT

带有对话框选项的例程相应地工作,这些选项被“print.toFile(...)”函数捕获并在行中读取:

pageSetup.loadFile(Assets.absoluteFilePath('pagesetup.conf'));
printSettings.loadFile(Assets.absoluteFilePath('printsettings.conf'));

它们出现在日志中。

但是什么都没有发生,没有任何事件被触发('begin-print'、'draw-page' 或其他)。

我将 node-gtk 包与 Meteor 一起使用,这在“Assets.absoluteFilePath”(Meteor)函数中得到了证明 以及在camelCase中的所有其他行(node-gtk这样做)

我不相信这些包是问题的原因,在我看来缺少某些东西,因为结果是三个 (3 -> IN_PROGRESS)。

我发现的所有示例都使用 PRINT_DIALOG 例程

botao2.on('clicked', () => {
  let printSettings = new Gtk.PrintSettings();
  let pageSetup = new Gtk.PageSetup();
  pageSetup.loadFile(Assets.absoluteFilePath('pagesetup.conf'));
  printSettings.loadFile(Assets.absoluteFilePath('printsettings.conf'));
  let print = new Gtk.PrintOperation({
    //'allow-async': true,
  });
  print.setUnit(Gtk.Unit.NONE);
  print.setPrintSettings(printSettings);
  print.setDefaultPageSetup(pageSetup);
  print.setUseFullPage(true);
  print.setShowProgress(true);

  console.log({ pageSetup, printSettings });

  print.on('begin-print', (printContext, num) => {
    print.nPages = 1;
    width = Math.floor(printContext.getWidth());
    height = Math.floor(printContext.getHeight());
  });

  print.on('draw-page', (printContext) => {
    console.log('draw-page', printContext);
  });

  print.on('status-changed', (...args) => {
    console.log('status-changed', args);
  });

  print.on('done', (res) => {
    console.log('done', res);
  });

  console.log(print.run(Gtk.PrintOperationAction.PRINT));  // always 3 -> IN_PROGRESS
});

【问题讨论】:

    标签: node.js meteor printing gtk


    【解决方案1】:

    这是 GTK4 中存在的一个错误,在 GTK3 中它可以工作,团队已经修复它,目前只是等待获得分发包

    ​​>

    https://gitlab.gnome.org/GNOME/gtk/-/issues/4439

    【讨论】:

      猜你喜欢
      • 2017-04-03
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多