Qt" Form Load"功能

时间:2014-11-15 14:36:33

标签: c++ qt

我在Qt中创建了新表单,我想问你表单加载功能在哪里,我可以把我的代码放在哪里。

另一个问题是file_exists不起作用,我不知道为什么(我想使用C本机函数),而我的Messagebox在表单加载之前显示为什么?我想在表单中加载然后显示我的Messagebox。最后一件事是this-> close(); if if语句不起作用。

这是我的代码:

#include "nacitanie_okno.h"
#include "ui_nacitanie_okno.h"
#include "funkcie.h"
#include <iostream>

const char *subory[] = { "test.txt" } ;

nacitanie_okno::nacitanie_okno(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::nacitanie_okno)
{
    ui->setupUi(this);

    int i;
    int pocet = 1;

    int percent = 20 / pocet;
    for(i = 0; i < pocet ; i++){

        if(file_exists(subory[i])){
            ui->progressBar->setValue(ui->progressBar->value() + percent);
        } else {
            MessageBox("Hi","teeest"); // my own function for messagebox
            this->close();
        }
    }

}

nacitanie_okno::~nacitanie_okno()
{
    delete ui;
}

在funkcie.h中是这样的:

bool file_exists(const char * subor)
{
    if (FILE * sub = fopen(subor, "r"))
    {
        fclose(sub);
        return true;
    }
    return false;
}

谢谢

1 个答案:

答案 0 :(得分:0)

  1. 创建Form的最佳方法是指针 &#34;加载表格&#34; function是类的构造函数 所以,当你想要创建一个表单时,假设你有&#34;类Myform;&#34;这是一个gui表类,应该是这样的:

    Myform * form = new Myform(&#34;构造函数变量&#34;);

    这将调用构造函数,您应该在其中编写您想要的表单加载函数。

  2. 使用此 - >隐藏这应该工作。

  3. 打印errno值,因为fopen在出错时设置errno值。