qt中利用普通函数将调用ui界面的控件
一、新建qt程序,界面如图所示:
二、在.h文件中:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <qDebug>namespace Ui {
class MainWindow;
}class MainWindow : public QMainWindow
{Q_OBJECT
signals:void signal_data(QString);public:explicit MainWindow(QWidget *parent = 0);~MainWindow();static MainWindow* getInstance();private slots:void on_pushButton_2_clicked();void slot_ReceiveData(QString);private:Ui::MainWindow *ui;
};#endif // MAINWINDOW_H
三、在.cpp文件中加入:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <Windows.h>
#include <stdio.h>MainWindow* instance;
MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);instance = this;
//绑定信号和槽connect(this,SIGNAL(signal_data(QString)),this,SLOT(slot_ReceiveData(QString)));}MainWindow::~MainWindow()
{delete ui;
}//建立自身调用
MainWindow *MainWindow::getInstance()
{qDebug()<<"3333";return instance;
}
//普通函数
void showLab()
{qDebug()<<"111";QString str = "234";qDebug()<<"222";MainWindow::getInstance()->signal_data(str);
}void MainWindow::slot_ReceiveData(QString data)
{qDebug()<<"data"<<data;ui->label->setText(data);ui->pushButton_3->setEnabled(false);ui->textEdit->setText("234");
}void MainWindow::on_pushButton_2_clicked()
{showLab();
}
四:在main函数中:
#include "mainwindow.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}
以上就是解决的方法,通过建立自身类的指针,进行调用自身的成员函数,同时也就解决了qt中普通函数无法调用界面中的控件的问题
qt中利用普通函数将调用ui界面的控件相关推荐
- WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆)
原文:WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆) 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.欢迎转载.使用.重新发布,但务必保 ...
- qt中根据数据解析的结果动态的创建控件并布局
引言 有时候程序中的控件的个数是无法预测的,当程序启动时,根据解析的数据动态的创建n行m列的控件,并为其布局.下面记录一下动态创建控件,并布局. 运行效果 示例 此示例主要是从json配置文件中读取参 ...
- Qt中利用定时器QTimer实时显示当前日期和时间
Qt中利用定时器QTimer实时显示当前日期和时间 时显示当前日期和时间.下面说明方法: 1. 在工程中声明一个全局QTimer对象 QTimer *timer; 2. 在构造函数中定义QTimer, ...
- C语言中利用Swap函数交换变量a,b
C语言中利用Swap函数交换变量a,b 常见错误写法 error1 void Sawp_error1(int a,int b) {int tmp;tmp=a;a=b;b=tmp; } int main ...
- ffmpeg php 快速播放,怎么在PHP中利用FFmpeg函数对视频播放的时长进行获取
怎么在PHP中利用FFmpeg函数对视频播放的时长进行获取 发布时间:2020-12-18 16:02:20 来源:亿速云 阅读:96 作者:Leah 这篇文章给大家介绍怎么在PHP中利用FFmpeg ...
- C++对象模型8——构造函数和析构函数中对虚函数的调用、全局对象构造和析构、局部static数组的内存分配
一.构造函数和析构函数中对虚函数的调用 仍然以https://blog.csdn.net/Master_Cui/article/details/109957302中的代码为例 base3构造函数和析构 ...
- Py之matplotlib:在matplotlib库中利用legend函数创建自定义图例(代码实现)
Py之matplotlib:在matplotlib库中利用legend函数创建自定义图例(代码实现) 目录 matplotlib库中利用legend函数创建自定义图例 原始图像 在原始图像上创建自定义 ...
- 在 Apache Spark 中利用 HyperLogLog 函数实现高级分析
在 Apache Spark 中利用 HyperLogLog 函数实现高级分析 预聚合是高性能分析中的常用技术,例如,每小时100亿条的网站访问数据可以通过对常用的查询纬度进行聚合,被降低到1000万 ...
- vue 执行函数this_在vue中使用回调函数,this调用无效的解决
let self = this //使用新变量替换this,以免this无效 //updatestudentinfotoserver是一个将本身部分数据异步上传的接口,接收三个参数,其中第一个是数据, ...
最新文章
- oracle重启一个节点集群,帮忙分析一例数据库两节点集群每隔几个月节点重启
- Linux常用命令笔记一
- Eclipse中javascript文件 clg 变为console.log();
- 企业集成模式_企业集成模式简介
- java 绘制长方形_Java入门:绘制简单图形
- 中国水密门市场趋势报告、技术动态创新及市场预测
- Hibernate的单向1-1关联(二)
- 关于Redis缓存和数据库一致性问题
- 测度论与概率论笔记6:符号测度
- sap 双计量单位_SAP双计量单位实现基本要素.doc
- 微信诈骗产业链,俩字儿是核心:杀熟
- 卸载360天擎-奇安信
- Appium和Python实现蚂蚁森林自动化收取能量
- IOS应用分发的三种方式
- HTML页面背景音乐自动循环播放
- java字符串==_Java字符串(String)
- 基于链接密度聚类的重叠社区发现算法
- vue+vant图片上传压缩图片大小
- 2019年5月25日
- Android实现意见反馈剩余字数