我在我的項目中使用Qt,並且在訪問其他類的ui標籤時遇到一些困難,我擁有mainwindow和Yar類,如下所示。在qt上寫上來自不同類的ui標籤
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "yar.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
Yar b;
private:
Ui::MainWindow *ui;
public slots:
void dispal();
private slots:
void on_pushButton_clicked();
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QObject::connect(ui->pushButton,SIGNAL(clicked()),&b,SLOT(lll()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::dispal(){
ui->label->setText("hello");
}
Yar.h
#ifndef YAR_H
#define YAR_H
#include <QObject>
class Yar : public QObject
{
Q_OBJECT
public:
explicit Yar(QObject *parent = 0);
public slots:
void lll();
};
#endif // YAR_H
void MainWindow::on_pushButton_clicked()
{//ui->label->setText("hello");
//b.wrrrot();
//dispal();
}
Yar.cpp
#include "yar.h"
#include <iostream>
Yar::Yar(QObject *parent) :
QObject(parent)
{
//setupUi(this);
//QObject::connect(&a, SIGNAL(dis), &a, SLOT(dispal()));
//emit wrrrot();
}
void Yar::lll(){
//emit wrrrot();
std::cout<<"gfggdf"<<std::endl;
}
在我的gui中,我有一個按鈕和一個標籤,我用Yar類的lll()函數連接了按鈕,當我點擊按鈕時,它在控制檯中顯示gfggdf但我想在ui中顯示此文本標籤,你能幫我我怎樣才能顯示我的數據在ui標籤從函數lll();
爲什麼需要通過'Yar'類修改標籤文本,如果可以直接使用? – vahancho
因爲按鈕就像一個初始化,當我點擊按鈕時,函數lll()會執行不同的調用並顯示結果..這就是爲什麼我需要通過Yar修改標籤。 – nabeel