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

/ 51,461评论 / 254348阅读 / 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. Eanrcor说道:

    Привет, друзья!
    Мы можем предложить дипломы любой профессии по разумным тарифам.
    alnabeel-marbles.com/диплом-купить-в-бишкеке/

  2. Diplomi_wlol说道:

    Добрый день!
    Приобрести документ института можно в нашей компании.
    diplomasx.com/kupit-diplom-kazan 

  3. Diplomi_ebol说道:

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

  4. BomesMix说道:

    Lorem Ipsum has been the industry’s standard dummy text https://onderhoudsbedrijfpeerdeman.nl/lqsabnu of type and scrambled it to make a type specimen book.

  5. Uazrtcq说道:

    Привет, друзья!
    Где заказать диплом специалиста?
    hackmd.io/@KevinWallace/SyaseLwBR

  6. Mazrymn说道:

    Здравствуйте!
    Стоимость дипломов высшего и среднего образования и как избежать подделок
    russiajoy.ru/oformlenie-diploma-onlayn-za-neskolko-shagov

  7. Diplomi_yzSt说道:

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

  8. BryanScath说道:

    Michael Jordan https://chicago-bulls.michael-jordan-ar.com is one of the greatest basketball players of all time, whose career with the Chicago Bulls is legendary.

  9. Edwinimale说道:

    The Formula One World Championship https://world-circuit-racing-championship.formula-1-ar.com, known as the Formula Championship in motor racing, is the highest tier of professional motor racing.

  10. ChrisWap说道:

    After some difficult years in the late 2010s, Manchester United https://england.manchester-united-ar.com returned to greatness in English football by 2024.

  11. Uazrsvd说道:

    Добрый день!
    Приобрести диплом ВУЗа.
    motomaniacy.com/posting.php?mode=post&f=9&sid=9cb8f5cc6ba3ff29a1a8d7f932785b03

  12. Danrboh说道:

    Привет, друзья!
    Мы предлагаем дипломы любой профессии.
    charkheniloufari.com/как-и-где-купить-диплом/
    Поможем вам всегда!.

  13. ThomasInace说道:

    http://doxycyclinedelivery.pro/# doxycycline 40 mg price

  14. Jamesjer说道:

    cipro online no prescription in the usa: ciprofloxacin over the counter – cipro

  15. Diplomi_dkst说道:

    купить государственный диплом купить государственный диплом .

  16. Cazricf说道:

    Привет!
    Мы можем предложить документы ВУЗов, которые расположены на территории всей Российской Федерации. Можно купить диплом от любого учебного заведения, за любой год, указав актуальную специальность и оценки за все дисциплины. Документы печатаются на “правильной” бумаге самого высокого качества. Это дает возможность делать государственные дипломы, не отличимые от оригиналов. Они заверяются всеми требуемыми печатями и подписями.
    ikl5goplk.mybloglicious.com/49441363/%D0%9B%D0%B5%D0%B3%D0%BA%D0%BE-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D0%B5%D0%BC-%D0%B0%D1%82%D1%82%D0%B5%D1%81%D1%82%D0%B0%D1%82-%D0%B2-%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-russian-diplom

  17. Cazrtwz说道:

    Здравствуйте!
    Мы можем предложить документы ВУЗов, расположенных в любом регионе Российской Федерации. Вы можете купить диплом за любой год, включая документы СССР. Дипломы и аттестаты делаются на “правильной” бумаге высшего качества. Это дает возможность делать государственные дипломы, которые не отличить от оригиналов. Они заверяются всеми необходимыми печатями и подписями.
    http://www.lku2.com/blogs/4505/%D0%9B%D0%B5%D0%B3%D0%BA%D0%BE-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D0%B5%D0%BC-%D0%B4%D0%B8%D0%BF%D0%BB%D0%BE%D0%BC-%D0%B2-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5-Russian-Diplom

  18. Jamesjer说道:

    purchase doxycycline online: can you buy doxycycline over the counter nz – doxycycline 75 mg

  19. Dnrtpud说道:

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

  20. BomesMix说道:

    Lorem Ipsum has been the industry’s standard dummy text https://moppenplaats.nl/ndgrm of type and scrambled it to make a type specimen book.

  21. Lariorerl说道:

    Полезные советы по покупке диплома о высшем образовании без риска
    ast-diplom.com/kupit-diplom-sankt-peterburg

  22. Lazrkrh说道:

    Привет!
    Где заказать диплом специалиста?
    Купить диплом любого университета.
    mediamemorial.ru/club/user/69594/forum/message/3756/13238/

  23. смотреть лучшее порно бесплатно без регистрации смотреть лучшее порно бесплатно без регистрации .

  24. Sazrozt说道:

    Привет!
    Как правильно купить диплом колледжа и ВУЗа в России, подводные камни
    boyara-analia.flybb.ru/viewtopic.php?f=7&t=697
    Рады оказать помощь!

  25. Williamtok说道:

    Добрый день!
    Мы предлагаем быстро приобрести диплом, который выполнен на оригинальном бланке и заверен печатями, водяными знаками, подписями должностных лиц. Документ способен пройти любые проверки, даже с использованием специфических приборов. Решите свои задачи быстро и просто с нашей компанией.
    uznt42.ru/index.php?subaction=userinfo&user=ejifiky
    Хорошей учебы!

  26. ThomasInace说道:

    https://doxycyclinedelivery.pro/# where can i get doxycycline uk

  27. Qazrafj说道:

    Привет!
    Купить диплом старого образца, можно ли это сделать по быстрой схеме?.
    Приобрести диплом о высшем образовании.
    http://www.globalfreetalk.com/read-blog/8292

  28. Cazrcmu说道:

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

  29. Yrefdxx说道:

    Здравствуйте!
    Приобрести диплом о высшем образовании.
    kharkov-balka.com/showthread.php?p=153862#post153862
    Успешной учебы!

  30. Diplomi_deol说道:

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

  31. Sazrkvr说道:

    Привет, друзья!
    Мы можем предложить дипломы любых профессий по выгодным тарифам. Стоимость будет зависеть от выбранной специальности, года получения и образовательного учреждения. Всегда стараемся поддерживать для заказчиков адекватную ценовую политику. Важно, чтобы документы были доступными для большого количества граждан.
    top100bookmark.com/story17159922/купить-диплом-сантехника

  32. Trefoju说道:

    Здравствуйте!
    Всё, что нужно знать о покупке аттестата о среднем образовании
    http://www.metal-archives.com/users/dilopluyy
    Рады оказать помощь!.

  33. BomesMix说道:

    Lorem Ipsum has been the industry’s standard dummy text https://stepsdown.cfd/dwnit of type and scrambled it to make a type specimen book.

  34. Dnrtlkj说道:

    Добрый день!
    Приобрести документ института вы сможете у нас в Москве.
    diplomasx.com/kupit-diplom-moskva
    Хорошей учебы!

  35. Diplomi_eyel说道:

    купить диплом о высшем образовании с госзнаками diplomasx.com .

  36. Xazritc说道:

    Здравствуйте!
    Как избежать рисков при покупке диплома колледжа или ПТУ в России
    landik-diploms-srednee.ru/attestat-shkoly  

  37. Lazrkvq说道:

    Привет!
    Мы предлагаем дипломы психологов, юристов, экономистов и прочих профессий по приятным тарифам.
    mykinotime.ru/vash-diplom-kachestvo-i-autentichnost/

  38. Robertphits说道:

    Jennifer Lopez https://lets-get-loud.jenniferlopez-ar.com was born in 1969 in the Bronx, New York, to parents who were Puerto Rican immigrants.

  39. Cazrrsk说道:

    Привет!
    Мы предлагаем документы техникумов, которые расположены на территории всей России. Можно заказать качественный диплом от любого заведения, за любой год, указав актуальную специальность и хорошие оценки за все дисциплины. Дипломы и аттестаты выпускаются на “правильной” бумаге самого высшего качества. Это дает возможности делать государственные дипломы, которые не отличить от оригиналов. Они будут заверены всеми требуемыми печатями и штампами.
    oqyywmba7.jaiblogs.com/55224141/%D0%9B%D0%B5%D0%B3%D0%BA%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%BB%D1%83%D1%87%D1%88%D0%B5%D0%BC-%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

  40. ngentot说道:

    bookmarked!!, I really like your website.

  41. Jamesjer说道:

    paxlovid generic: Paxlovid over the counter – paxlovid pill

  42. Diplomi_nxsr说道:

    купить диплом образования красноярск https://www.diploms-x.com .

  43. Lazrgwg说道:

    Привет!
    Мы можем предложить дипломы любой профессии по приятным тарифам.
    facefam.com/read-blog/331_na-chto-imenno-vnimanie-obratit-pri-zakaze-diploma-v-seti.html?mode=night

  44. Lazrjki说道:

    Добрый день!
    Мы можем предложить дипломы любых профессий по приятным ценам.
    newmanstrength.com/диплом-проведенный-купить/

  45. Lazrdib说道:

    Здравствуйте!
    Мы можем предложить дипломы психологов, юристов, экономистов и других профессий по приятным ценам.
    mykinotime.ru/vash-diplom-kachestvo-i-autentichnost/

发表回复

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