• 5775阅读
  • 9回复

qt程序在windows9x不能打印 [复制链接]

上一主题 下一主题
离线dara
 

只看楼主 倒序阅读 楼主  发表于: 2006-04-26


void setting::test()
{
 
          QPrinter printer(QPrinter::HighResolution);
  QPainter painter(&printer);
  painter.setFont(QFont("宋体",12));
  painter.drawRect(QRect(40,40,60,30));
  painter.drawText(QRect(80,80,100,40),Qt::AlignLeft|Qt::AlignTop|Qt::TextWordWrap," something");
   
}

上面这段代码,我在windows xp下编译,运行打印正常,但是在window me下编译运行,只能让打印机动了一下, 什么也没有打印, 需要说明的是, 在windows me下其他程序打印功能是正常的, 比如word,ie等。
  这个问题,让我百思不得其解,特在此向各位师傅求教,师傅不吝,赐教一二为盼。
[ 此贴被dara在2006-04-26 21:50重新编辑 ]
离线dara

只看该作者 1楼 发表于: 2006-04-28
???怎么没有人碰过吗?
离线guyansrg

只看该作者 2楼 发表于: 2006-04-28
呵呵,不是没碰过,而是没做过
离线chwoozy

只看该作者 3楼 发表于: 2006-04-28
不知道是不是因为Qt程序的默认编码是Unicode,而9x系统的默认编码是ANSI的缘故
离线dara

只看该作者 4楼 发表于: 2006-04-28
各位能不能给点解决办法啊?我发现就qt本身的例子在9x下都不能打印
离线yfy002

只看该作者 5楼 发表于: 2006-04-29
图片可以打印吗?手头都没有win9x的盘
我渴望平静,风却给了我涟漪
我的blog:
http://sungaoyong.cublog.cn
离线dara

只看该作者 6楼 发表于: 2006-04-29
图片也不行, qt 的几个例子我都试过了, 都是只能使打印机动了一下,什么也没有打印,怎么办呢?等啊等
离线dotnetjack
只看该作者 7楼 发表于: 2006-04-29
You maybe need to set it by QPrintEngine before you print.
离线dara

只看该作者 8楼 发表于: 2006-04-30
按照 dotnetjack 的意思, 我把代码修改成这个样子,

void setting::test()
{

      QPrinter printer(QPrinter::HighResolution);
    QPrintDialog printDialog(&printer, this);
   if (printDialog.exec() == QDialog::Accepted){
              QPainter painter(&printer);
              painter.setFont(QFont("宋体",12));
              painter.drawRect(QRect(40,40,60,30));
                painter.drawText(QRect(80,80,100,40),Qt::AlignLeft|Qt::AlignTop|Qt::TextWordWrap," something");
 
                  }
}


结果测试还是打不了。 help me
离线chwoozy

只看该作者 9楼 发表于: 2006-05-07
我在上面不是说过了吗,可能是系统编码的问题,好像Qt的编码是Unicode,而XP支持Unicode,所以能打印,而WindowsME不支持Unicode编码,好像只支持Ansi编码
快速回复
限100 字节
 
上一个 下一个