[Qt/qml]程序之外显示的弹幕

/ 52,109评论 / 256664阅读 / 4点赞

前几天课设做个聊天系统,顺便实现了这个在程序外显示弹幕作为消息提示的功能,这里记录一下怎么搞。

效果

思路

实操

import QtQuick 2.3
import QtQuick.Controls 2.5
//窗口
ApplicationWindow  {
    id:root
    property string str: "我的洛天依"  //弹幕文本内容
    width: 300
    height: 40

    flags:  Qt.FramelessWindowHint  //去掉窗口标题栏
    color:"#00000000"   //设置背景透明

    Rectangle {     //使用矩形包裹Text是为了在Text外面可以增加圆角矩形边框效果
        anchors.fill: parent
        border.width: 1     //设置边框
        border.color: "#66ccff"
        color:"#00000000"
        radius: 20          //边框圆角
        clip: true          //超出矩形范围的内容隐藏

        Text {      //弹幕文本
            anchors.fill: parent
            text: str
            font.bold: true
            font.pointSize: 15
            color: "#66ccff"
            style: Text.Outline     //设置文本样式,在字体轮廓加一层styleColor指定的颜色边缘,防止背景导致文本不明显
            styleColor: "#fff"
            horizontalAlignment: Text.AlignHCenter  //居中
            verticalAlignment:   Text.AlignVCenter
            clip: true
        }
    }
}
import QtQuick
import QtQuick.Window 2.3
import QtQuick.Controls 2.5

Window {
    id:mainWin
    width: 700
    height: 500
    visible: true
    title: qsTr("MimicryChat")

    //添加弹幕
    function addBarrage(in_str) {
        var newCom = Qt.createComponent("Barrage.qml");   //创建弹幕窗口
        var newWin = newCom.createObject();
        newWin.x   = 200;
        newWin.y   = Math.random() * 900;   //随机竖直位置
        newWin.str = in_str;   //设置弹幕文本
        newWin.show();         //显示弹幕窗口

        //设置定时控制器
        let timer = Qt.createQmlObject("import QtQuick 2.14; Timer {}", mainWin);
        timer.interval = 20;    //执行间隔时间(单位ms)
        timer.repeat = true;    //重复执行
        timer.triggered.connect(function() {  //执行内容
            if(newWin.x < 1700) {  //如果没到右边缘就移动2个像素点
                newWin.x += 2;
            } else {
                timer.stop();      //到达右边缘,则停止定时控制器,并销毁弹幕
                newWin.close();
            }
        });
        timer.start();   //启动定时器
    }
    Rectangle {   //主窗口背景颜色
        anchors.fill: parent
        color: "#dde8fc"
        radius: 20
    }
    Button {
        width:100
        height: 40
        text:"发送弹幕"
        anchors.bottom: parent.bottom
        anchors.bottomMargin: 10
        //水平居中
        anchors.horizontalCenter: parent.horizontalCenter
        onClicked: {
            addBarrage("嘿嘿,我的洛天依");
        }
    }
}

问题

  1. Diplomi_mwmn说道:

    купить диплом в тобольске ast-diploms.com .

  2. Dnrtdwl说道:

    Привет!
    Приобрести документ о получении высшего образования вы сможете в нашем сервисе.
    asxdiplomik.com/kupit-diplom-moskva
    Удачи!

  3. Dnrtbji说道:

    Здравствуйте!
    Приобрести документ университета вы имеете возможность у нас в столице.
    asxdiplomik24.ru/kupit-diplom-moskva
    Хорошей учебы!

  4. Dnrtdcj说道:

    Привет!
    Приобрести документ института можно в нашей компании.
    ast-diplomy24.ru/kupit-diplom-omsk
    Удачи!

  5. Jamesjer说道:

    doxycycline uk pharmacy: doxycycline 500 mg capsules – doxycycline without rx

  6. Mazrdwv说道:

    Здравствуйте!
    Удивительно, но купить диплом кандидата наук оказалось не так сложно
    vistasalamat.com/диплом-магистра-2014-20242024-фото/

  7. Diplomi_hcsr说道:

    купить диплом педагога купить диплом педагога .

  8. ThomasInace说道:

    https://amoxildelivery.pro/# amoxicillin 500mg buy online canada

  9. Diplomi_sgel说道:

    купить диплом о среднем специальном образовании в москве купить диплом о среднем специальном образовании в москве .

  10. Manrerv说道:

    Привет, друзья!
    Где приобрести диплом специалиста?
    Мы предлагаем документы ВУЗов, расположенных в любом регионе Российской Федерации. Можно приобрести диплом от любого заведения, за любой год, включая документы старого образца СССР. Дипломы печатаются на “правильной” бумаге самого высокого качества. Это позволяет делать настоящие дипломы, которые не отличить от оригиналов. Документы будут заверены необходимыми печатями и штампами.
    Мы изготавливаем дипломы любых профессий по доступным ценам.
    ast-diplom.com/kupit-diplom-moskva
    Будем рады вам помочь!

  11. Razrqkt说道:

    Здравствуйте!
    Мы предлагаем приобрести диплом в высочайшем качестве, который не отличить от оригинала без использования дорогостоящего оборудования и квалифицированного специалиста.
    sc79nnov.ru/forum/user/20971-unome.html
    Удачи!

  12. Manrqga说道:

    Привет!
    Где заказать диплом специалиста?
    Мы предлагаем документы институтов, расположенных в любом регионе РФ. Вы сможете купить качественный диплом от любого заведения, за любой год, указав необходимую специальность и оценки за все дисциплины. Дипломы печатаются на бумаге самого высокого качества. Это позволяет делать государственные дипломы, которые невозможно отличить от оригинала. Документы заверяются всеми обязательными печатями и подписями.
    Мы изготавливаем дипломы любых профессий по приятным ценам.
    ast-diploms.com/kupit-diplom-sankt-peterburg
    Рады оказать помощь!

  13. ThomasInace说道:

    http://ciprodelivery.pro/# buy ciprofloxacin

  14. Lazreru说道:

    Привет!
    Где приобрести диплом по актуальной специальности?
    Приобрести диплом о высшем образовании.
    http://www.shopwheel.ru/club/user/49/blog/55202/

  15. Jamesjer说道:

    where to buy generic clomid without rx: can you buy clomid without dr prescription – where to get cheap clomid prices

  16. Manrhdw说道:

    Привет!
    Где купить диплом по нужной специальности?
    Мы можем предложить документы ВУЗов, расположенных в любом регионе Российской Федерации. Можно купить качественный диплом от любого заведения, за любой год, указав актуальную специальность и хорошие оценки за все дисциплины. Дипломы делаются на “правильной” бумаге самого высокого качества. Это позволяет делать настоящие дипломы, которые не отличить от оригиналов. Они будут заверены всеми требуемыми печатями и штампами.
    Мы изготавливаем дипломы любых профессий по выгодным тарифам.
    diplomyx24.ru/kupit-diplom-ekaterinbur
    Поможем вам всегда!

  17. Diplomi_dhmn说道:

    купить диплом новгород ast-diploms.com .

  18. DonaldHew说道:

    Chelsea https://england.chelsea-ar.com is one of the most successful English football clubs of our time.

  19. CalvinGef说道:

    Juventus Football Club https://italy.juventus-ar.com is one of the most successful and decorated clubs in the history of Italian and world football.

  20. Williamacrog说道:

    The history of one of France’s https://france.paris-saint-germain-ar.com most famous football clubs, Paris Saint-Germain, began in 1970, when capitalist businessmen Henri Delaunay and Jean-Auguste Delbave founded the club in the Paris Saint-Germain-en-Laye area.

  21. ThomasInace说道:

    http://ciprodelivery.pro/# cipro online no prescription in the usa

  22. Yrefenq说道:

    Добрый день!
    Приобрести диплом ВУЗа.
    suhinfo.ru/index.php/??????_??????:_???????_?_????????_??????????
    Хорошей учебы!

  23. JamesMyday说道:

    Travis Scott https://astroworld.travis-scott-ar.com is one of the brightest stars in the modern hip-hop industry.

  24. Diplomi_ywol说道:

    Привет, друзья!
    Заказать документ о получении высшего образования вы имеете возможность в нашей компании в Москве.
    ast-diplomy24.ru/kupit-diplom-nizhnij-novgorod

  25. Cazrwkz说道:

    Добрый день!
    Мы можем предложить документы техникумов, которые расположены на территории всей Российской Федерации. Можно купить диплом от любого заведения, за любой год, указав необходимую специальность и хорошие оценки за все дисциплины. Дипломы и аттестаты выпускаются на бумаге высшего качества. Это дает возможность делать настоящие дипломы, которые не отличить от оригинала. Документы будут заверены необходимыми печатями и штампами.
    http://www.b2bempowerment.org/blogs/397/%D0%91%D1%8B%D1%81%D1%82%D1%80%D0%BE-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D1%8B%D0%B2%D0%B0%D0%B5%D0%BC-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-%D0%B2-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5-Russian-Diplom

  26. Jamesjer说道:

    purchase cipro: buy ciprofloxacin over the counter – buy cipro online canada

  27. Sazrpon说道:

    Здравствуйте!
    Как не попасть впросак при покупке диплома колледжа или ПТУ в России
    artrp.5nx.ru/viewtopic.php?f=3&t=9578
    Рады оказать помощь!

  28. ThomasInace说道:

    http://paxloviddelivery.pro/# paxlovid pharmacy

  29. MyronEvown说道:

    http://clomiddelivery.pro/# get generic clomid without prescription
    cost clomid pills [url=https://clomiddelivery.pro/#]can i order cheap clomid without a prescription[/url] how to get clomid no prescription

  30. ThomasInace说道:

    http://ciprodelivery.pro/# ciprofloxacin 500mg buy online

  31. Diplomi_xxSt说道:

    купить диплом судомеханика asxdiplomik24.ru .

  32. Diplomi_qool说道:

    Привет!
    Приобрести документ о получении высшего образования вы можете у нас.
    asxdiplomik.com/kupit-diplom-moskva

  33. Diplomi_obol说道:

    Добрый день!
    Заказать документ ВУЗа можно в нашем сервисе.
    diploms-x24.ru/kupit-diplom-sankt-peterburg

  34. Diplomi_ozol说道:

    Привет!
    Заказать документ о получении высшего образования можно у нас в Москве.
    ast-diplomy.com/kupit-diplom-voronezh

  35. Lazrwpm说道:

    Добрый день!
    Мы изготавливаем дипломы любой профессии по приятным ценам.
    webnewsrealty.ru/diplomyi-vyisshego-obrazovaniya-s-garantiey

  36. Danrmgk说道:

    Добрый день!
    Где приобрести диплом по необходимой специальности?
    Мы изготавливаем дипломы любой профессии по приятным ценам. Стоимость будет зависеть от той или иной специальности, года выпуска и университета. Всегда стараемся поддерживать для заказчиков адекватную политику тарифов. Важно, чтобы документы были доступны для большого количества наших граждан.
    Для вас изготавливаем дипломы психологов, юристов, экономистов и других профессий по приятным ценам.
    bbs.heyshell.com/forum.php?mod=viewthread&tid=28283
    Окажем помощь!.

  37. Xazrllc说道:

    Привет!
    Полезная информация как официально купить диплом о высшем образовании
    landik-diploms-srednee.ru/attestat-shkoly  

  38. Dnrtvfk说道:

    Добрый день!
    Заказать документ о получении высшего образования можно в нашем сервисе.
    diploms-x24.ru/otzyvy
    Успешной учебы!

  39. Cazrtzs说道:

    [u][b] Привет, друзья![/b][/u]
    [b]Мы готовы предложить документы техникумов[/b], которые находятся в любом регионе Российской Федерации. Вы имеете возможность заказать диплом за любой год, указав подходящую специальность и оценки за все дисциплины. Документы выпускаются на “правильной” бумаге высшего качества. Это дает возможности делать настоящие дипломы, которые не отличить от оригинала. Они заверяются всеми необходимыми печатями и штампами.
    [url=http://forum.aigames.su/index.php?/gallery/image/182-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D0%B5%D0%BC-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-%D0%B2-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%B5%D0%BD%D0%BD%D0%BE%D0%BC-%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5-%D0%BF%D0%BE-%D0%BA%D0%BE%D0%BC%D1%84%D0%BE%D1%80%D1%82%D0%BD%D0%BE%D0%B9-%D1%86%D0%B5%D0%BD%D0%B5//]forum.aigames.su/index.php?/gallery/image/182-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D0%B5%D0%BC-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-%D0%B2-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%B5%D0%BD%D0%BD%D0%BE%D0%BC-%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5-%D0%BF%D0%BE-%D0%BA%D0%BE%D0%BC%D1%84%D0%BE%D1%80%D1%82%D0%BD%D0%BE%D0%B9-%D1%86%D0%B5%D0%BD%D0%B5/[/url]

  40. Jamesjer说道:

    п»їpaxlovid: Paxlovid buy online – paxlovid for sale

  41. Uazrjqp说道:

    [u][b] Привет, друзья![/b][/u]
    Где приобрести диплом специалиста?
    [url=http://wecanchat.mn.co/posts/62004321/]wecanchat.mn.co/posts/62004321[/url]
    [b]Удачи![/b]

  42. Lazrefz说道:

    Здравствуйте!
    Где приобрести диплом специалиста?
    Приобрести диплом любого ВУЗа.
    terorizam.listbb.ru/viewtopic.php?f=3&t=373

  43. Cazrnxn说道:

    Привет, друзья!
    Мы готовы предложить документы ВУЗов, которые расположены на территории всей Российской Федерации. Вы сможете купить качественный диплом от любого заведения, за любой год, включая сюда документы старого образца. Документы делаются на “правильной” бумаге самого высокого качества. Это дает возможность делать настоящие дипломы, которые не отличить от оригиналов. Документы будут заверены необходимыми печатями и подписями.
    noirconnection.com//read-blog/1410

  44. asbestos说道:

    I was able to find good advice from your blog posts.

  45. Thank you for the auspicious writeup. It in fact was a amusement account it.
    Look advanced to far added agreeable from you! By the way,
    how could we communicate?

  46. ThomasInace说道:

    https://paxloviddelivery.pro/# Paxlovid over the counter

  47. Qazrqug说道:

    Добрый день!
    Вопросы и ответы: можно ли быстро купить диплом старого образца?.
    Заказать диплом о высшем образовании.
    ethiopianregister.com/read-blog/1477

  48. Sazrpuz说道:

    Здравствуйте!
    Можно ли купить аттестат о среднем образовании, основные моменты и вопросы
    ukrom.in.ua/users/327?wid=9215
    Будем рады вам помочь!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注