• 5481阅读
  • 7回复

求救,怎样将一幅图片拖动到ToolBox 中,并成为一个按钮呢? [复制链接]

上一主题 下一主题
离线robertkun
 

只看楼主 倒序阅读 楼主  发表于: 2009-05-21
这是不是用到动态添加按钮的功能呢?
不知道怎样实现?
哪位大侠帮个忙啊,在下感激不尽。。。
[ 此帖被robertkun在2009-05-21 11:51重新编辑 ]
                                              简单的生活使人快乐!
离线duduqq

只看该作者 1楼 发表于: 2009-05-21
QT例子里有拖拽QLabel的,你看看能不能改改变成你要的按钮。
离线robertkun

只看该作者 2楼 发表于: 2009-05-21
O,这也是个好办法,我看看先。。谢谢了
谁还有更好的办法说一下。
                                              简单的生活使人快乐!
离线robertkun

只看该作者 3楼 发表于: 2009-05-21
看了一下,可那个是Label 是在窗体中拖动的

我想把一个图片从窗体外部拖到窗体中形成一个按钮。

感觉好有难度啊,不知道怎样实现。。。
                                              简单的生活使人快乐!
离线duduqq

只看该作者 4楼 发表于: 2009-05-21
拖拽时能获取到图片的URL,然后你在dragEvent里处理事件,动态生成一个按钮,把图片作为按钮的图片就行了,
离线robertkun

只看该作者 5楼 发表于: 2009-05-21
Re:求救,怎样将一幅图片拖动到ToolBox 中,并成为一个按钮呢?谢谢
引用第4楼duduqq于2009-05-21 13:20发表的  :
拖拽时能获取到图片的URL,然后你在dragEvent里处理事件,动态生成一个按钮,把图片作为按钮的图片就行了,


谢谢,真是提壶灌顶啊。
                                              简单的生活使人快乐!
离线robertkun

只看该作者 6楼 发表于: 2009-05-21
简单的提供一两个函数供后人使用。。

void qturl1::dragEnterEvent(QDragEnterEvent *event)
{

    if(event->mimeData()->hasFormat("text/uri-list"))
        event->acceptProposedAction();
}

void qturl1::dropEvent(QDropEvent *event)
{
    QList<QUrl> urls = event->mimeData()->urls();
    if(urls.isEmpty())
      return;
    QString fileName= urls.first().toLocalFile();
    if(fileName.isEmpty())
    {
        return;
    }
    else
    {
        QPushButton *bttonT=new QPushButton();
        QPixmap pixmap = QPixmap(fileName);
        QBrush   Brush(pixmap);
        bttonT->setIcon(QIcon(pixmap.scaled(30, 30)));
        bttonT->setIconSize(QSize(50, 50));
        myLayoutleft->addWidget(bttonT);
    }
}
                                              简单的生活使人快乐!
离线downstairs

只看该作者 7楼 发表于: 2010-01-30
void qturl1::dropEvent(QDropEvent *event)

void qturl1::dragEnterEvent(QDragEnterEvent *event)

这两个函数是非常重要的。相对于拖拽 拖放 功能
喜爱编程的猫头鹰
快速回复
限100 字节
 
上一个 下一个