小编Naz*_*kii的帖子

C 函数 fwrite() 不写入文件

我正在尝试将结构写入tempGroupFileinto GroupFilefwrite()写入时返回1,但实际上文件中没有写入任何数据GroupFile。函数printRec()在屏幕上打印出结构。data是结构变量。这些操作后文件GroupFile为空。代码:

GWTemp = fopen(tempGroupFile, "rb");
GW = fopen(GroupFile, "wb"); 
if((GW == NULL) || (GWTemp == NULL))
{
    puts("Failed to open file.");
    fflush(stdin);
    getchar();
    return 0;
}
while(fread(&data, sizeof data, 1, GWTemp))
{
    if(fwrite(&data, sizeof data, 1, GW))
    {
        printRec(data);
    }
}
Run Code Online (Sandbox Code Playgroud)

c io file-io fwrite

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

如果QStateMachine中的转换成功,则从类发出信号

我的问题如下:我需要创建包含QStateMachine实例的类。此类应具有插槽,您可以通过这些插槽“询问”状态机以转换到另一个状态。如果转换成功,我的班级应该发出有关它的信号。我将如何实施呢?类应具有根据特定插槽调用发出特定信号的能力。这是一个小类的例子:

class MyClass : public QObject
{
    Q_OBJECT
public:
    explicit MyClass(QObject *parent = 0)
    {
        mStateMachine = new QStateMachine(this);
        QState *s1 = new QState(mStateMachine);
        QState *s2 = new QState(mStateMachine);
        QState *s3 = new QState(mStateMachine);

        s1->addTransition(); // Transition to s2
        s2->addTransition(); // Transition to s3
        s3->addTransition(); // Transition to s1

        mStateMachine->setInitialState(s1);
        mStateMachine->start();
    }

signals:
    toS1();
    toS2();
    toS3();

public slots:
    slotToS1()
    {
        /* post event to state machine about
        transition to state s1,
        if transition was successful,
        then emit toS1() signal. */ …
Run Code Online (Sandbox Code Playgroud)

c++ qt state-machine qstatemachine

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

无法用按钮关闭窗口:QML

我创建了一个包含按钮的项目.我正在尝试使用此按钮关闭项目的父窗口,但是当我单击该项目时,我收到此消息:

TypeError:对象的属性'close'QQuickRootItem(0x1d8efed8)不是函数

你能帮帮我吗?

项目代码:

import QtQuick 2.4

Item {

    id: backButton

    ItemForButton{

        id: baseButton
        text: "Back"

        onClicked: {

            backButton.parent.close()
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

窗口代码:

Window {

        id: window
        visible: true
        BackButton {

        }
        x: 30
        y: 30
    }
Run Code Online (Sandbox Code Playgroud)

qt qml

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

QML:无法将 QQuickItem 分配给 QQuickAnchorLine

我试图在 main.qml 文件中使用 idcontainerItem在主窗口中定位具有 id 的项目mainWindow。但是我在输出中收到了这条消息:

无法将 QQuickWindowQmlImpl 分配给 QQuickItem

消息指向字符串anchors.fill: mainWindow。我的代码:

import QtQuick 2.4
import QtQuick.Window 2.2

Window {

    visible: true
    color: "black"
    id : mainWindow

    width: 360
    height: 360

    Item {

        anchors.fill: mainWindow

        id: containerItem
    }
}
Run Code Online (Sandbox Code Playgroud)

我将非常感谢您的帮助!

qt qml

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

标签 统计

qt ×3

qml ×2

c ×1

c++ ×1

file-io ×1

fwrite ×1

io ×1

qstatemachine ×1

state-machine ×1