LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: lklk205

有没有人学qt 的啊?

[复制链接]
 楼主| 发表于 2003-7-30 14:57:20 | 显示全部楼层

QT中文显示问题.

我用qtdesigner做的button和label都能正常显示中文,
但我用setText()重新设置文本的时候,就不能正常显示中文了,显示出来的是乱码,英文还是能正常显示.
后来我用trUtf8()转换后还是乱码
我参看了能正常显示的代码,发现它的trUtf8()中是乱码,
反而能正常显示中文
请问,该怎么办讷?
发表于 2003-7-30 17:12:39 | 显示全部楼层
你的PushButton3类型是QPushButton*自然应该用->
Painter p;不是指针,应该用 p.hide();
发表于 2003-7-31 00:21:08 | 显示全部楼层
QT的国际化编程可以到QT的网站上去看看。这也是一门专门的学问。
 楼主| 发表于 2003-8-4 22:08:36 | 显示全部楼层

关于文件打开的问题!

要求:按下"打开"按钮时,弹出选择文件的对话框,当选定文件后,文件显示         在一个TextBrowser里面.
我在按下"打开"按钮的slot里的程序如下:
void interface:: Display1()
{
class QFileDialog;

QFileDialog* fd = new QFileDialog( this, "file dialog", TRUE );
fd->show();
}
并且在头文件里已经有了#include <qfiledialog.h>
但是编译时总出现错误:
../work4/interface.ui.h: In member function `virtual void
   interface:: Display1()':
../work4/interface.ui.h:516: invalid use of undefined type `struct
   interface:: Display1():FileDialog'
../work4/interface.ui.h:498: forward declaration of `struct
   interface:: Display1():FileDialog'
../work4/interface.ui.h:518: invalid use of undefined type `struct
   interface:: Display1():FileDialog'
../work4/interface.ui.h:498: forward declaration of `struct
   interface:: Display1():FileDialog'
make: *** [.obj/interface.o] Error 1
请问有哪位大侠知道怎么回事吗?
事急.
 楼主| 发表于 2003-8-4 22:11:45 | 显示全部楼层

啊?想不到那段字符自动转换成表情符号了-]

!:
发表于 2003-8-4 23:12:07 | 显示全部楼层
你的interface是struct吗?
 楼主| 发表于 2003-8-4 23:29:16 | 显示全部楼层
interface的定义如下
interface::interface( QWidget* parent, const char* name, WFlags fl )
    : QWidget( parent, name, fl )
没有定义成struct
这是我用qtdesiqner做的,编译时生成的代码
发表于 2003-8-5 08:10:59 | 显示全部楼层
你把这一句注释掉看看:

  1. void interface:: Display1()
  2. {
  3. [color=red]class QFileDialog;[/color]

  4. QFileDialog* fd = new QFileDialog( this, "file dialog", TRUE );
  5. fd->show();
  6. }
复制代码
 楼主| 发表于 2003-8-5 09:19:49 | 显示全部楼层
果然这样就行了,是什么原因讷?先前我也这样试过,不知道哪里还有问题,行不通.还有,我现在能出险了一个文件选择的对话框,但是却不能在指定的TextBrowser里显示文件内容.
发表于 2003-8-5 10:14:44 | 显示全部楼层
QFileDialog不应该在Display中声明,在qfiledialog.h中应该声明过了。
TextBrowser继承了QTextEdit,看看void QTextEdit::setTextFormat ( TextFormat f )的如何设置的。
http://user.nankai.edu.cn/qt/qtextedit.html#textFormat-prop
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表