小编Rob*_*tex的帖子

如何在Qt5中将动画图标设置为QPushButton?

QPushButton可以有图标,但我需要设置动画图标.这该怎么做?我创建了新的类,QPushButton但是如何将icon替换QIconQMovie

icons animation qt qt5 qpushbutton

17
推荐指数
2
解决办法
9198
查看次数

Qt:窗户周围的阴影

我可以为widget添加阴影:

QGraphicsDropShadowEffect *bodyShadow = new QGraphicsDropShadowEffect;
bodyShadow->setBlurRadius(9.0);
bodyShadow->setColor(QColor(0, 0, 0, 160));
bodyShadow->setOffset(4.0);
ui->widget->setGraphicsEffect(bodyShadow);
Run Code Online (Sandbox Code Playgroud)

但是这个阴影只会在左下方.我需要围绕小部件的影子.如何添加?

c++ qt window shadow qwidget

8
推荐指数
1
解决办法
7194
查看次数

是否有可能解决CUDA内存碎片问题?

我正在尝试分配一些内存,但有时会出现"内存不足"的错误.cudaMemGetInfo说我需要更多的内存.所以,内存碎片问题.有可能解决这个问题吗?是不是可以将元素一个接一个地存放在存储器中,并且可以分解为我可以放在内存中的少量和平?

c++ linux memory-management cuda memory-fragmentation

5
推荐指数
1
解决办法
740
查看次数

QML:子属性的别名

我创建了对话框并尝试添加一些别名来更改它的标题和文本:

import QtQuick 2.0
import Ubuntu.Components 0.1
import Ubuntu.Components.Popups 0.1

Item {
    signal confirmed;
    signal canceled;

    property alias title: dialog.title
    property alias text: dialog.text

    signal show(variant caller);

    Component {
         id: dialogComponent

         Dialog {
             id: dialog
             title: "Exit Game"
             text: "Are you sure that you want to exit?"

             Button {
                 text: "cancel"
                 onClicked:
                 {
                     canceled();
                     PopupUtils.close(dialog);
                 }
             }

             Button {
                 text: "confirm"
                 color: "orange"
                 onClicked:
                 {
                     confirmed();
                     PopupUtils.close(dialog);
                 }
             }
         }
    }

    onShow:
    {
        PopupUtils.open(dialogComponent, caller)
    }
}
Run Code Online (Sandbox Code Playgroud)

但我有问题:

qrc:/ConfirmationDialog.qml:8:23: Invalid …
Run Code Online (Sandbox Code Playgroud)

qt alias properties qml qt5

5
推荐指数
1
解决办法
1万
查看次数

QML:在并行线程中运行函数

在我的代码中,我在循环中创建16x16按钮,这需要几秒钟.

onCreateField:
{
    for(var i=0;i<fieldWidth;i++)
    {
        for(var j=0;j<fieldHeight;j++)
        {
            createButton(i, j);
        }
    }
}

function createButton(x, y)
{
    __buttonX = x;
    __buttonY = y;

    __component = Qt.createComponent("GameButton.qml");

    if(__component != null)
        continueButtonCreation();
    else
        __component.ready.connect(continueButtonCreation);
}

function continueButtonCreation()
{
    var button = __component.createObject(field, {"row": __buttonY, "column": __buttonX});

     if (button == null) {
         // Error Handling
         console.log("Error creating object");

         return;
     }

     updateValveState.connect(button.stateUpdated);
     button.buttonClicked.connect(buttonClicked);

     field.clearField.connect(button.release);
}
Run Code Online (Sandbox Code Playgroud)

创建按钮的功能运行时,应用程序冻结.我希望在此函数运行时显示加载动画.那么,如何在并行线程中运行此函数以避免冻结?

最好的问候,尼克

parallel-processing multithreading qml

5
推荐指数
1
解决办法
8193
查看次数

QML:如何禁用 TreeView 和 TableView 的边框?

我可以删除此元素的背景和交替颜色,但我找不到如何删除它周围的边框。是否可以?

treeview qt tableview borderless qml

4
推荐指数
2
解决办法
2396
查看次数

视网膜支持QML

如何在QML中使用视网膜支持?如何选择正确的尺寸和正确的图像分辨率?应用程序需要在视网膜和非视网膜设备上工作.

macos qt qml retina-display

3
推荐指数
1
解决办法
1365
查看次数

OpenMP:并行程序不是更快(或不是非常快)然后串行.我究竟做错了什么?

看看这段代码:

#include <stdio.h>
#include <omp.h>

int main()
{
    long i, j;

    #pragma omp for
    for(i=0;i<=100000;i++)
    {
        for(j=0;j<=100000;j++)
        {
            if((i ^ j) == 5687)
            {
                //printf("%ld ^ %ld\n", i, j);
                break;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,结果:

robotex@robotex-work:~/Projects$ gcc test.c -fopenmp -o test_openmp
robotex@robotex-work:~/Projects$ gcc test.c -o test_noopenmp
robotex@robotex-work:~/Projects$ time ./test_openmp
real    0m11.785s
user    0m11.613s
sys 0m0.008s
robotex@robotex-work:~/Projects$ time ./test_noopenmp

real    0m13.364s
user    0m13.253s
sys 0m0.008s
robotex@robotex-work:~/Projects$ time ./test_noopenmp

real    0m11.955s
user    0m11.853s
sys 0m0.004s
robotex@robotex-work:~/Projects$ time ./test_openmp

real    0m15.048s
user    0m14.949s …
Run Code Online (Sandbox Code Playgroud)

c performance gcc openmp

1
推荐指数
1
解决办法
3287
查看次数

Python:如何使用龙卷风从生成器函数返回?

我使用yield和task来异步获取四个jsons:

@gen.engine
def get_user_data(self, sn, snid, fast_withdrawals):
    end_timestamp = time.time()
    start_timestamp = end_timestamp - CONFIG.LOYALITY_LEVELS.PERIOD

    active_apps_response, total_payments_response, payments_for_period_response, withdrawals_response = yield [
        gen.Task(self.http_client.fetch, self.__get_active_apps_url(sn, snid)), gen.Task(self.http_client.fetch, self.__get_total_payments_url(sn, snid)),
        gen.Task(self.http_client.fetch, self.__get_payments_sum_for_period_url(sn, snid, start_timestamp, end_timestamp)),
        gen.Task(self.http_client.fetch, self.__get_total_withdrawals_url(sn, snid, fast_withdrawals))
    ]

    active_apps = self.__active_apps_handler(active_apps_response)
    total_payments = self.__get_total_payments_handler(total_payments_response)
    payments_for_period = self.__payments_sum_for_period_handler(payments_for_period_response)
    withdrawals = self.__get_total_withdrawals_handler(withdrawals_response)

    yield gen.Return(active_apps, total_payments, payments_for_period, withdrawals)
Run Code Online (Sandbox Code Playgroud)

但是如果我使用yield而不是返回上层函数也变成了生成器而且我也不能使用return.那么,如何在没有调用函数生成器的情况下从龙卷风函数返回结果呢?我正在使用Python 2.7

python yield generator tornado

1
推荐指数
1
解决办法
1580
查看次数

如何绘制线 - 不是在画布上,只是对象?

我将我的游戏移植到QML并且有一个困难.看这张图片:

用矢量精灵

三角形是一个精灵,线条是力矢量.我可以在QML中显示精灵,但我无法理解如何绘制矢量.它的长度可以超过精灵大小.

我想我可以用Rectangleheight的1px的,但我不知道如何将它旋转.

力量可以在每帧变化,因此绘图性能必须良好.

qt qml qtquick2

1
推荐指数
1
解决办法
8395
查看次数