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

/ 52,174评论 / 256835阅读 / 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. Manrfjs说道:

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

  2. Xazrhet说道:

    Добрый день!
    Сколько стоит диплом высшего и среднего образования и как это происходит?
    arusak-diploms-srednee.ru/kupit-diplom-v-rostove-na-donu В 

  3. Razrjcs说道:

    Привет!
    Наша компания предлагает заказать диплом высокого качества, неотличимый от оригинала без использования специального оборудования и опытного специалиста.
    old.pokvesti.ru/forum/viewtopic.php?f=42&t=92299
    Удачи!

  4. Treflrg说道:

    Здравствуйте!
    Стоимость дипломов высшего и среднего образования и процесс их получения
    vk.com/unikvseru?w=wall414329581_6828
    Рады оказаться полезными!.

  5. Qazresj说道:

    Привет!
    Быстрая схема покупки диплома старого образца: что важно знать?.
    Заказать диплом о высшем образовании.
    phileo.me/blogs/185406/%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%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

  6. Thanks for finally talking about > [Qt/qml]程序之外显示的弹幕 –
    猫薄荷 < Liked it!

  7. you will eventually be rewarded with less interaction.However—this is a marathon,ダッチワイフ

  8. Diplomi_krol说道:

    Привет, друзья!
    Заказать документ института вы сможете в нашей компании.
    diplomyx.com/kupit-diplom-vracha

  9. ThomasInace说道:

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

  10. Diplomi_vrel说道:

    куплю диплом техникума реестр diplomasx.com .

  11. ThomasInace说道:

    http://clomiddelivery.pro/# get cheap clomid price

  12. Diplomi_myol说道:

    Добрый день!
    Заказать документ о получении высшего образования можно в нашей компании в столице.
    ast-diplomas24.ru/kupit-diplom-moskva

  13. Yrefjfx说道:

    Добрый день!
    Купить диплом университета.
    sport-faq.ru/ofitsialnyie-diplomyi-dlya-vashey-kareryi
    Успехов в учебе!

  14. Diplomi_ezmn说道:

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

  15. Jamesjer说道:

    cheap amoxicillin 500mg: amoxicillin 500mg capsules antibiotic – amoxicillin 500mg capsules antibiotic

  16. Cazrdky说道:

    Привет, друзья!
    Мы готовы предложить документы техникумов, расположенных в любом регионе РФ. Вы можете заказать диплом от любого заведения, за любой год, в том числе документы СССР. Дипломы и аттестаты выпускаются на “правильной” бумаге самого высшего качества. Это дает возможности делать государственные дипломы, которые не отличить от оригиналов. Документы будут заверены всеми обязательными печатями и штампами.
    hunting-movie.ru/gallery/image/670-zakazyvaem-diplom-v-proverennom-internet-magazine-po-vygodnoy-cene/

  17. google说道:

    Hi, I do believe this is an excellent blog. I stumbledupon it 😉 I may come back once again since
    i have book marked it. Money and freedom is the best way to change, may you be rich and continue to guide others.

  18. Jamesjer说道:

    amoxicillin for sale online: where can you buy amoxicillin over the counter – can you buy amoxicillin over the counter canada

  19. ngentot说道:

    This is a very good tip especially to those new to the blogosphere. Simple but very accurate information… Thanks for sharing this one. A must read post.

  20. Cazrepz说道:

    Привет, друзья!
    Мы можем предложить документы ВУЗов, расположенных в любом регионе РФ. Вы имеете возможность купить качественный диплом за любой год, указав необходимую специальность и оценки за все дисциплины. Документы печатаются на бумаге самого высокого качества. Это позволяет делать настоящие дипломы, не отличимые от оригинала. Документы заверяются всеми обязательными печатями и штампами.
    homes-for-homeless-children.mn.co/posts/61828787

  21. Qazrumm说道:

    Привет!
    Диплом ВУЗа купить официально с упрощенным обучением в Москве.
    Заказать диплом о высшем образовании.
    doomelang.com/read-blog/6800

  22. Qazrsjh说道:

    Добрый день!
    Официальная покупка аттестата о среднем образовании в Москве и других городах.
    Заказать диплом любого университета.
    nx7agy4v9.tusblogos.com/28288368/%D0%9A%D0%B0%D0%BA-%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE-%D0%BD%D0%B5%D0%B4%D0%BE%D1%80%D0%BE%D0%B3%D0%BE-%D0%BF%D1%80%D0%B8%D0%BE%D0%B1%D1%80%D0%B5%D1%81%D1%82%D0%B8-%D0%B4%D0%B8%D0%BF%D0%BB%D0%BE%D0%BC-%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

  23. Cazroho说道:

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

  24. MyronEvown说道:

    http://doxycyclinedelivery.pro/# doxycycline buy online usa
    doxycycline online no prescription [url=http://doxycyclinedelivery.pro/#]doxycycline 200 mg[/url] doxycycline 631311

  25. Lazrdju说道:

    Здравствуйте!
    Мы предлагаем дипломы любой профессии по приятным тарифам.
    onetable.world/read-blog/59803

  26. Yreftie说道:

    Привет!
    Заказать диплом о высшем образовании.
    w202.clanbb.ru/viewtopic.php?id=33373#p384945
    Успешной учебы!

  27. Yrefstf说道:

    Здравствуйте!
    Приобрести диплом университета.
    antimoderator.mybb.ru/viewtopic.php?id=372#p443
    Успехов в учебе!

  28. Dnrtqfd说道:

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

  29. Yrefgxy说道:

    Добрый день!
    Купить диплом ВУЗа.
    antimoderator.mybb.ru/viewtopic.php?id=372#p443
    Успешной учебы!

  30. Sazragi说道:

    Здравствуйте!
    Как приобрести аттестат о среднем образовании в Москве и других городах
    toolsrepair.ru/forum/viewtopic.php?f=5&t=2933455
    Рады оказаться полезными!.

  31. Sazrebz说道:

    Привет!
    Диплом вуза купить официально с упрощенным обучением в Москве
    kvitka.ukrbb.net/viewtopic.php?f=58&t=23466
    Рады оказать помощь!.

  32. Sazrjkh说道:

    Добрый день!
    Где и как купить диплом о высшем образовании без лишних рисков
    dolgoprudni.rusff.me/viewtopic.php?id=2312#p5195
    Поможем вам всегда!.

  33. Lariorujk说道:

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

  34. ThomasInace说道:

    https://amoxildelivery.pro/# where to buy amoxicillin 500mg without prescription

  35. Xazrwxy说道:

    Добрый день!
    Официальная покупка диплома ПТУ с упрощенной программой обучения
    arusak-diploms-srednee.ru/kupit-diplom-v-krasnodare В 

  36. Michaelpiepe说道:

    buy prescription drugs from india: indian pharmacy online – indian pharmacy

  37. Xazrbbs说道:

    Добрый день!
    Приобретение диплома ПТУ с сокращенной программой обучения в Москве
    arusak-diploms-srednee.ru/kupit-diplom-v-cheliabinske В 

  38. Trefvbf说道:

    Добрый день!
    Приобретение диплома ПТУ с сокращенной программой обучения в Москве
    artem-energo.ru/forums.php?m=posts&q=18321&n=last#bottom
    Рады оказать помощь!.

  39. Michaelpiepe说道:

    buying from online mexican pharmacy: mexico pharmacies prescription drugs – medicine in mexico pharmacies

  40. Michaelpiepe说道:

    top 10 online pharmacy in india: online pharmacy india – indian pharmacy online

  41. Williamtok说道:

    Привет, друзья!
    Наша компания предлагает выгодно и быстро заказать диплом, который выполнен на оригинальном бланке и заверен печатями, штампами, подписями официальных лиц. Наш документ пройдет любые проверки, даже с применением специальных приборов. Решайте свои задачи быстро и просто с нашим сервисом.
    авто-днр.рф/users/ygubage
    Хорошей учебы!

  42. Diplomi_uzol说道:

    Привет!
    Заказать документ университета вы имеете возможность в нашем сервисе.
    diplomasx.com/kupit-diplom-krasnoyarsk

  43. Michaelpiepe说道:

    world pharmacy india: buy medicines online in india – buy medicines online in india

  44. DavidWaype说道:

    canadian drug: canadian drug pharmacy – best rated canadian pharmacy

  45. Michaelpiepe说道:

    canadian pharmacy antibiotics: canadian pharmacy king reviews – trustworthy canadian pharmacy

  46. Lazrmfp说道:

    Привет!
    Где заказать диплом специалиста?
    Купить диплом о высшем образовании.
    stroimarket-komi.ru/club/user/54/blog/38295/

  47. Michaelpiepe说道:

    best online pharmacy india: india pharmacy – mail order pharmacy india

发表回复

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