社区
Linux/Unix社区
帖子详情
有关QScrollview的问题请教!!!
interbanker
2003-10-16 11:48:31
我定义了了一个QScrollview,然后addchild了一个QWidget,当我不设置边界的时候,我用QPainter在Qwidget上画字是正常的,但是使用 setMargins()设置后,使用QPainter.drawText(就不能画上去)
...全文
174
8
打赏
收藏
有关QScrollview的问题请教!!!
我定义了了一个QScrollview,然后addchild了一个QWidget,当我不设置边界的时候,我用QPainter在Qwidget上画字是正常的,但是使用 setMargins()设置后,使用QPainter.drawText(就不能画上去)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fierygnu
2003-10-23
打赏
举报
回复
不是是否可以实现的问题,而是事件驱动应用的编程模式问题。比如你重载了drawContents,其参数QPainter会为你设置好裁减区,并且在有多个暴露事件时合并无效区域,这都是你的代码里没有的。
另外,你要设置的是scrollbar的范围,那不是margin(margin是边界空白),应该用 resizeContents()设置整个内容的大小,scrollview会自动调整scrollbar的。
interbanker
2003-10-23
打赏
举报
回复
应该是重载QScrollView的drawContents,在其中显示内容。在从socket接收数据的例程里给scrollview发送expose事件。
--------------------------------------------------------
在QWidget上画字我上面的代码可以实现了,我想是否用drawContents显示关系不大吧!!!
现在的关键是我的QScrollview的滑竿不知道怎么设置移动范围,也不是很明白移动滑竿的时候会产生什么信号??
fierygnu
2003-10-22
打赏
举报
回复
应该是重载QScrollView的drawContents,在其中显示内容。在从socket接收数据的例程里给scrollview发送expose事件。
interbanker
2003-10-22
打赏
举报
回复
因为代码很多,我只把相关的代码列一下
创建vt100_dsp类
vt100_dsp::vt100_dsp(QWidget* parent,const char* name)
: QScrollView(parent,name,0)
然后QWgt是从QWidget继承过来的,vpwgt将被用来画字
vpwgt = new Qwgt(this,"twgt");
vpwgt->setFixedSize(830,530);
vpwgt->setBackgroundColor(white);
this->addChild(vpwgt);
this->horizontalScrollBar();
setVScrollBarMode(QScrollView::AlwaysOn);
setHScrollBarMode(QScrollView::AlwaysOff);
然后画字部分
QPainter tpainter;
tpainter.begin(vpwgt);
tpainter.drawText(m_cmdy*(CharHigh+5),m_cmdx*(CharWidth+1),&(m_vt100Struct.m_vt100[m_cmdy][m_cmdx].c),1);
tpainter.end();
整个程序实际上是从socket读东西,然后画在vpwgt上,我想通过QScrollview的滑杆上下移动来刷新画字的内容。现在问题是,我设置在vpwgt上显示2000行文字,想设置滑竿移动范围!!!另外viewportMousePressEvent(QMouseEvent*)根本进不来!!
kangcau
2003-10-21
打赏
举报
回复
对于QWidget来说,要在EventPaint()中进行绘制!
fierygnu
2003-10-21
打赏
举报
回复
我觉得是你的问题描述的不清楚。你是重载了drawContents在里边绘制吗?是否用QPainter::clipRegion看过?
如果方便,贴上代码。
interbanker
2003-10-21
打赏
举报
回复
送分都没有人要,什么世道啊!!!
interbanker
2003-10-18
打赏
举报
回复
看来没有人应答了,哪位随便跟个帖子,我好结贴!!!
Qt编程核心技术-5
7.3 Q
ScrollView
类 Q
ScrollView
窗口部件提供了在需要时可以出现滚动条的滚动区域。Q
ScrollView
是一个很大的画布,这个画布可它下面的窗口支持的坐标大得多。例如:一个很大的网页,长度超过了窗口限制,必须使用...
qt 窗口的缩放和滚动条的使用
//窗口的缩放和滚动条的使用 #include #include #include #include #include #include #include ...class MyMainWindow: public Q
ScrollView
{ public: MyMainWindow(); private:
使用RecyclerView打造QQ条目侧滑效果
说起这个功能,先吐槽一下,刚来不久的一个产品经理,自己虽然使用的是IOS手机,但也不能什么效果都是说人家IOS的效果交互设计的号,我们就按照它的效果做!IOS自带的这个破侧滑功能,看着丑的要死,干嘛非要这个干...
linux qt bmp,QT编程
问题
(显示BMP图)
QT编程
问题
(显示BMP图)编译环境是VC在头文件中的声名QVBox*vb;Q
ScrollView
*sv;我用如下方法在窗口中建一个Q
ScrollView
框svsv=newQ
ScrollView
(this);//建Q
ScrollView
框svvb=newQVBox(sv->viewport());//建QVBox类...
24小时学通Qt之第五学时:深入学习Qt构造块
一、
问题
与答案 1、创建一个滚动窗口,使用addChild()函数添加了很多对象。但Q
ScrollView
类似乎只注意到第一个对象。如果不影响第一个,滚动条就不出现,这是为什么? 答:最简单的方法就是将子部件添加到一个...
Linux/Unix社区
23,125
社区成员
74,509
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章