Qt从子方法更新文本框

用户名

我有一个Qt GUI应用程序和一个包含while循环的方法(不在类中)。在while循环的每次迭代中,我都希望将计数器传递到GUI上的文本框。这可能吗?

超级简化的代码:

image_processor.cpp:

void Transition::image_processor (int endindex, int counter) {

    do {
        ...
        counter++; //update textbox with this each iteration
    } while(counter<endindex-1);
}

transition.cpp(GUI):

Transition::Transition(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::Transition)

{
    ui->setupUi(this);
    ui->imageCounter->setText("0");
}

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

void Transition::on_runButton_clicked()
{
    image_processor(endindex, counter);
}
科索万

counter是int,因此不能将其设置得这么简单,您应该将其转换为QStringQString有特殊的静态方法QString::number()可以做到这一点。

试试这个:

void Transition::image_processor(int endindex, int counter){

    do {
        ...
        counter++; //update textbox with this each iteration
        ui->imageCounter->setText(QString::number(counter));
    } while(counter<endindex-1)
}

你有错误:

void Transition::on_runButton_clicked()
{
    void Transition::image_processor(endindex, counter);
}

应该:

void Transition::on_runButton_clicked()
{
    image_processor(endindex, counter);
}

你不应该使用 void

我认为这只是一个错字,但是:

Transition::Transition(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::Transition)   
{
    ui->setupUi(this);//should be
    ui->imageCounter->setText("0");
}//should be

如您所见,我ui->setupUi(this);再次添加,我认为这只是一个错字,但您应该添加此内容。如果不这样做,将不会创建来自Qt Designer的元素,并且会出现错误。

编辑:

transition.h(标头):

//here can be everything, I don't know, you don't post here header but you should add method;
//...
private:
void Transition::image_processor(int endindex, int counter)

transition.cpp(GUI):

Transition::Transition(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::Transition)

{
ui->setupUi(this);
ui->imageCounter->setText("0");
}

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

void Transition::on_runButton_clicked()
{
    image_processor(endindex, counter);
}

void Transition::image_processor(int endindex, int counter){

    do {
        ...
        counter++; //update textbox with this each iteration
        ui->imageCounter->setText(QString::number(counter));
    } while(counter<endindex-1)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

执行方法后更新文本框 Winforms

来自分类Dev

JS不更新文本框

来自分类Dev

更新文本框值$ on事件

来自分类Dev

根据组合框值更新文本框

来自分类Dev

动态更新文本框后更新范围值

来自分类Dev

在更新PHP表时动态更新文本框。

来自分类Dev

Powershell-从开始工作更新文本框

来自分类Dev

使用javascript更新文本框中的值

来自分类Dev

单击按钮时更新文本框值

来自分类Dev

根据datagrid视图更新文本框

来自分类Dev

单击按钮时更新文本框值

来自分类Dev

GWT CellTable:如何动态更新文本框

来自分类Dev

如何使用JavaScript更新文本框的背景颜色?

来自分类Dev

无法更新文本框 vb.net -crossthreading

来自分类Dev

Splitform 不更新文本框/标签

来自分类Dev

更新文本框中公式的结果

来自分类Dev

单击时动态更新文本框

来自分类Dev

Datagridview列SUM到文本框并使用每个添加的行更新文本框

来自分类Dev

Datagridview列SUM到文本框并使用每个添加的行更新文本框

来自分类Dev

更新文本框值后,WPF 将文本框绑定到列表视图停止

来自分类Dev

如何使用列表框值更新文本框

来自分类Dev

使用列表框中的联系人详细信息更新文本框

来自分类Dev

如何使用 JavaScript 根据选择框更新文本框值?

来自分类Dev

WPF文本框,更新文本属性将重置光标位置

来自分类Dev

为什么SQL只更新文本框的原始文本?网络

来自分类Dev

强制刷新文本框

来自分类Dev

更新文本框中表中的值但未更新 db 中的值?

来自分类Dev

按键盘上的Delete键无法自动更新文本框的总值

来自分类Dev

使用Knockout + Typeahead自定义绑定更新文本框中的值

Related 相关文章

热门标签

归档