• 全部
...

关于QT QTextEdit 插入表情的问题,急求。

return_torres 2011-06-09 11:04:55
在做一个聊天室软件,想像QQ一样能加入表情并显示, 问题是如何在Qtexteidt上显示表情图片 ,貌似用html形式可以,但是这样传输过去怎样在对方上面显示呢, 只有tohtml()函数采取html string。 但这样返回了太多乱七八糟的字符,浪费带宽。
还有就是,当点击表情按钮,应该弹出一个窗口让用户选择表情,这个窗口有开源的吗,有的话能传我吗?或给链接 有类似项目代码的朋友能分享下吗? 不甚感激!
...全文
给本帖投票
1191 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
return_torres 2011-06-17
  • 打赏
  • 举报
回复
对不起,忘了结贴了~!
donwmufromdying 2011-06-15
  • 打赏
  • 举报
回复
选择表情的应该类似我曾经写过的一段代码:

QDir dir( “icon所在目录” );
if (dir.exists())
{
dir.setNameFilters( QStringList() << "*.png" );
QStringList iconFiles = dir.entryList();
QStringList::const_iterator i;
listWidget->clear();
for (i = iconFiles.constBegin(); i != iconFiles.constEnd(); ++i)
{
register QString text;
text = *i;
text.remove( QRegExp("_\\d+\\..{3,}$") );
text = setName + "/" + text;
//qDebug()<<"\t text of item:"<<text;
QListWidgetItem *item = new QListWidgetItem( QIcon(dir.filePath(*i)), text, listWidget );
item->setData( Qt::UserRole, setName );
}
}
zhh_kv 2011-06-10
  • 打赏
  • 举报
回复
还有一个问题:
我如何传送呢?我调用toPlaintext(),只是返回文字,图片无法识别。 我是靠char[] 来传送的。这样无法识别出传送的文本中有图片。
answer:
不能使用toPlaintext();
通过QVariant QTextDocument::resource ( int type, const QUrl & name ) const;
可以得到资源的;
具体如何得到文字和图片信息,可以查看help doc;我也没细看

还有就是,显示表情的控件该如何实现呢,您有没有什么建议
answer:
显示表情的控件,可以使用QWidget,每个表情是一个QLabel,每个QLabel贴图片,点击的时候更改图片,
再需求的是要美化QWidget下,就基本ok啦

也许有更好的办法,期待高手
return_torres 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhh_steven 的回复:]
可以在QTextEdit中插入图片的啊
如:
QImage img = ...
textDocument->addResource(QTextDocument::ImageResource, QUrl("myimage"), img);
cursor.insertImage("myimage");
[/Quote]

谢谢您的帮助。
还有一个问题:
我如何传送呢?我调用toPlaintext(),只是返回文字,图片无法识别。 我是靠char[] 来传送的。这样无法识别出传送的文本中有图片。
还有就是,显示表情的控件该如何实现呢,您有没有什么建议

starnight1981 2011-06-10
  • 打赏
  • 举报
回复
可以插入gif文件吗?
zhh_kv 2011-06-10
  • 打赏
  • 举报
回复
可以在QTextEdit中插入图片的啊
如:
QImage img = ...
textDocument->addResource(QTextDocument::ImageResource, QUrl("myimage"), img);
cursor.insertImage("myimage");

16,816

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧

手机看
关注公众号

关注公众号

客服 返回
顶部