Ⅰ Qt如何实现word的功能,插入的图片可以拖拽
你是说在一个Widget上面放一张图片然后可以拖动这个帐图片吗?
很简单:
首先你需要一个容器来装这张图片,首选QLabel
然后重新定义这个QLabel,重写他的MouseEvent,点击移动就可以拖动改QLabel
Ⅱ QT中如何实现一个TreeWidget的拖拽功能
setDragDropMode(QAbstractItemView::InternalMove)
Ⅲ 怎么用ps往静图里嵌动图 我的是ps3,带QT
自重啊是PS CS3,你打个PS3就会到这个分类。。
Ⅳ qt creator,如何对QGraphicsView添加右键触发的卷轴拖拽功能
相关开发中碰到问题代码中已有向导性开发解说,太深入的过程暂时没有时间研究,见谅,仅当入门小例.<下文附别人总结详细解说>
MyWidget.h文件
#ifndef MYWIDGET_H
#define MYWIDGET_H
Ⅳ 关于PS软件导入动态素材的问题……【注:已安装QT、】
CS5能导入 gif 格式,导入以后所有图层全部在图层中,根据你上传的图片看,是你的文件类型没有选择,点击文件类型右边的小三角,选择所有文件就OK了
Ⅵ QT 如何传图片
图片其实就是16进制代码组成,从0xff 0xd8开始,0xff 0xd9结束;
传输只要传输16进制数据就可以了,再服务端再解析代码
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int find_start_pos(unsigned char *buf,int len){
int i;
for(i=0;i<len;i++){
if(buf[i+1]==0xd8 && buf[i]==0xff){
return i;
}
}
return -1;
}
int find_end_pos(unsigned char *buf,int len){
int i;
for(i=0;i<len;i++){
if(buf[i]==0xff && buf[i+1]==0xd9){
return i+2;
}
}
return -1;
}
void http_request(char *ip,int port){
unsigned char buffer[1024]={0};
unsigned char sendbuf[]="GET /?action=stream HTTP/1.1\r\n\r\n";
struct sockaddr_in addr;
int sd=socket(AF_INET,SOCK_STREAM,0);
if(sd<0){
perror("socket");
return;
}
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
addr.sin_addr.s_addr = inet_addr(ip);
int ret=connect(sd, (struct sockaddr *)&addr, sizeof(addr));
if(ret<0){
perror("connect");
close(sd);
return;
}
ret=write(sd,sendbuf,strlen(sendbuf));
ret=read(sd,buffer,1024);
printf("%s\n",buffer);
int fd = open("./test.mjpeg",O_WRONLY|O_CREAT,0777);
if(fd < 0){
perror("open file"),exit(-1);
}
unsigned char *mbuf=(unsigned char *)malloc(1024*30);
unsigned char soi[2]={0xff,0xd8};
unsigned char eoi[2]={0xff,0xd9};
int size = 0;
while(1){
int ret = read(sd,buffer,1024);
memcpy(mbuf+size,buffer,ret);
size+=ret;
int psoi=find_start_pos(mbuf,size);
if(psoi==-1){
continue;
}
int peoi=find_end_pos(mbuf,size);
if(peoi==-1){
continue;
}
write(fd,mbuf+psoi,peoi-psoi-1);
break;
}
close(fd);
close(sd);
}
int main(){
http_request("127.0.0.1",8080);
//http_request("172.30.2.2",80);
return 0;
}
Ⅶ PS打开图片无法显示,但是拖动整个图层的时候会显示,放下来又变没有东西了。
可能是你打开的界面设置成了透明的了,现实的就是透明的,重新设一下就好了,你试试吧!
Ⅷ qml删除加载的文件夹加载qrc图片
在目录里删除,文件夹依然存在,加载图片也会报错。
第一,在文件夹中打开工程目录,删除资源文件夹,再用QTCreater打开项目,工程目录中的qml。qrc,拖到QTCreater,第二,拖拽后,会出现以下界面,点击RemovingMissingFiles,关闭项目,重新打开就可以了。
在QT的开发中需要添加图片等资源文件,以下是添加方法。1工程目录中新建文件夹,命名自定义(如my_resource),需要至少添加一个图片或其他文件。2打开项目,选择根目录,点击右键,添加现有文件,选择图片。
Ⅸ Qt中的拖拽事件是复制还是剪切
根据应用的区域的不同提供了复制或移动文字两种实现方式:
在同一窗口中移动或复制项
选定要移动或复制的项。
2.请执行下列操作之一:
● 若要进行移动,请单击“常用”工具栏上的“剪切”或用快捷键 Ctrl+ X。
● 若要进行复制,请单击“常用”工具栏上的“复制”或用快捷键 Ctrl+ C。
3.单击要显示所选项的位置。
4.单击“常用”工具栏上的“粘贴”或用快捷键 Ctrl+ V。
在不同窗口间拖动项
1.选定要移动或复制的项。
2.请执行下列操作之一:
● 要移动信息时:将所选项直接拖动。
● 要复制信息时:按住 Ctrl 拖动。
3.拖动所选项至目标文档的文档标签处,并成为活动状态。
4.将移动或复制的项放到目标文档的新位置。
5.释放鼠标。
Ⅹ Qt中如何利用 png 图片来实现自定义形状的窗口
使用 Qt::WindowFlags 可以实现一些不同类型的窗口,如:用 Qt::FramelessWindowHint 来实现无边框窗口,用 Qt::Popup 来实现弹出式的窗口,用 Qt::Tool 来实现工具窗口,用Qt::CustomizeWindowHint 来关闭窗口标题栏以及与 Qt::WindowCloseButton(添加关闭按钮),Qt::WindowMaximumButtonSize(添加最大化按钮)联用来建立只有关闭按钮和最大化按钮的窗口,用 Qt::WindowStaysOnTopHint 使窗口永远在最前端等。 Qt::WidgetAttribute 使窗口支持透明背景以及在关闭后主动销毁。其它一些常用的 Attribute 有:Qt::WA_AcceptDrops 使 widget 支持拖拽操作,Qt::WA_MouseTracking 使 widget 及时响应鼠标移动事件(MouseMoveEvent)。 Qt::setMask() 函数对窗口进行部分区域遮掩来实现各种形状的窗口。部分代码解释:头文件: 1:#ifndef SHAPEDWIDGET_H 2:#define SHAPEDWIDGET_H 3: 4:#include <QWidget> 5:class QPoint; 6:class QPixmap; 7:class ShapedWidget : public QWidget 8: { 9: Q_OBJECT 10:public: 11:explicit ShapedWidget(QWidget *parent = 0); 12: ~ShapedWidget(); 13: 14:private slots: 15:void changeSkin(); 16: 17:protected: 18:void mousePressEvent(QMouseEvent *); 19:void mouseMoveEvent(QMouseEvent *); 20:void paintEvent(QPaintEvent *); 21: 22:private: 23:void initData(); 24:void initVisualComponents(); 25:void setupContextMenu(); 26: 27: QPoint* dragPos_; 28: QPixmap* backgroundPixmap_; 29: }; 30: 31:#endif // SHAPEDWIDGET_H构造: 1: ShapedWidget::ShapedWidget(QWidget *parent) : 2: QWidget(parent, Qt::FramelessWindowHint) //无边框窗体 3: { 4: initData(); //初始化数据,这个demo里面就两个,具体下面有解释 5: initVisualComponents(); //初始化私有可视部件,这个demo里面没有私有的其它部件,所以只做了窗口的一些属性设置 6: setupContextMenu(); //设置右键菜单,分配各种QAction内存空间以及连接SIGNALS和SLOTS 7: setAttribute(Qt::WA_DeleteOnClose); //关闭事件发生后就主动从内存中销毁窗口 8: setAttribute(Qt::WA_TranslucentBackground); //透明背景支持 9: } 拖拽移动窗体(下面有图示): 1:void ShapedWidget::mousePressEvent(QMouseEvent *event) 2: { 3:if(event->button() == Qt::LeftButton) 4: { 5: *dragPos_ = event->globalPos() - frameGeometry().topLeft(); 6: event->accept(); 7: } 8: } 9: 10:void ShapedWidget::mouseMoveEvent(QMouseEvent *event) 11: { 12:if(event->buttons() & Qt::LeftButton) 13: { 14: move(event->globalPos() - *dragPos_); 15: event->accept(); 16: } 17: } 窗口绘制: 1:void ShapedWidget::paintEvent(QPaintEvent *) 2: { 3: QPainter painter(this); 4: painter.fillRect(0, 0, backgroundPixmap_->width(), backgroundPixmap_->height(), *backgroundPixmap_); 5: } 更换皮肤: 1:void ShapedWidget::changeSkin() 2: { 3: QAction* source = qobject_cast<QAction*>(sender()); //获取发送该信号的信号源,并转换对象 4: backgroundPixmap_->load(source->data().toString()); //因为给每个 QAction 赋了图片的地址的字符串 5://所以可以通过 data() 来获取该值,并更新背景图片的内容 6: resize(backgroundPixmap_->width(), backgroundPixmap_->height()); //窗口大小尽可能小