qt笔记之qml下拉标签组合框增加发送按钮发送标签内容
qt笔记之qml下拉标签组合框增加发送按钮发送标签内容
code review!
文章目录
- qt笔记之qml下拉标签组合框增加发送按钮发送标签内容
- 1.运行
- 2.文件结构
- 3.main.qml
- 4.main.cc
- 5.MyClass.h
- 6.MyClass.cc
- 7.CMakeLists.txt
- 8.ComboBox.pro
- 9.qml.qrc
1.运行

2.文件结构

3.main.qml

代码
import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2Window {visible: truewidth: 640height: 480title: qsTr("QML ComboBox C++ signal")property string selectedOptionComboBox {id: comboBoxx: 12y: 58width: 147height: 25model: ["选项一", "选项二", "选项三"]Component.onCompleted: {selectedOption = "选项一"}onCurrentIndexChanged: {selectedOption = comboBox.currentText;}}Button {id: buttonx: 18y: 134text: qsTr("发送")onClicked: {myClass_rename.setValue(selectedOption);}}
}
4.main.cc

代码
#include "MyClass.h"
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQmlContext>Q_DECLARE_METATYPE(MyClass *)int main(int argc, char *argv[]) {QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);QGuiApplication app(argc, argv);QQmlApplicationEngine engine;MyClass myClass;engine.rootContext()->setContextProperty("myClass_rename", &myClass);engine.load(QUrl(QStringLiteral("qrc:/main.qml")));if (engine.rootObjects().isEmpty())return -1;return app.exec();
}
5.MyClass.h

代码
#ifndef MYCLASS_H
#define MYCLASS_H#include <QObject>
#include <QString>
#include <QVector>
#include <iomanip>
#include <iostream>class MyClass : public QObject {Q_OBJECTpublic:explicit MyClass(QObject *parent = nullptr);public slots:void setValue(QString value);
};#endif // MYCLASS_H
6.MyClass.cc

代码
#include "MyClass.h"
#include <QDebug>MyClass::MyClass(QObject *parent) : QObject(parent) {}void MyClass::setValue(QString value) {qDebug() << "value= " << value;
}
7.CMakeLists.txt

代码
cmake_minimum_required(VERSION 2.8.12)project(ComboBox LANGUAGES CXX)
set(Qt5_DIR "/home/user/Qt/5.15.2/gcc_64/lib/cmake/Qt5")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)find_package(Qt5 COMPONENTS Core Quick REQUIRED)include_directories(
# "src""*.h"
)file (GLOB SRCS
# "src/cc/*.cc""*.cc"
)file (GLOB INCS
# "src/inc/*.h""*.h"
)add_executable(${PROJECT_NAME} ${SRCS} ${INCS} "main.cc" "qml.qrc")target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Quick -pthread)
8.ComboBox.pro
代码
QT += quick qml
CONFIG += c++11INCLUDEPATH += ./LIBS += -L/usr/lib/x86_64-linux-gnu -lz
LIBS += /usr/lib/x86_64-linux-gnu/libboost_*
#LIBS += /usr/lib/aarch64-linux-gnu/libboost_*# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Refer to the documentation for the
# deprecated API to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0SOURCES += \./main.ccRESOURCES += ./qml.qrc \
# image.qrc# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH # Additional import path used to resolve QML modules just for Qt Quick Designer
QML_DESIGNER_IMPORT_PATH =# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
9.qml.qrc
代码
<RCC><qresource prefix="/"><file>main.qml</file></qresource>
</RCC>
相关文章:
qt笔记之qml下拉标签组合框增加发送按钮发送标签内容
qt笔记之qml下拉标签组合框增加发送按钮发送标签内容 code review! 文章目录 qt笔记之qml下拉标签组合框增加发送按钮发送标签内容1.运行2.文件结构3.main.qml4.main.cc5.MyClass.h6.MyClass.cc7.CMakeLists.txt8.ComboBox.pro9.qml.qrc 1.运行 2.文件结构 3.main.qml 代码 …...
linux上构建任意版本的rocketmq多架构x86 arm镜像——筑梦之路
现状 目前市面上和官方均只有rocketmq x86架构下的docker镜像,而随着国产化和信创适配的需求越来越多,显然现有的x86架构下的docker镜像不能满足多样化的需求,因此我们需要根据官方发布的版本制作满足需求的多架构镜像,以在不同cp…...
Java8 新特性之Stream(五)-- Stream的3种创建方法
目录 1. 集合 创建Stream流 拓展: 2. 数组 创建Stream流 3. 静态方法 创建Stream流 1. 集合 创建Stream流 @...
Vue实现模糊查询搜索功能
第一步 先创建一个val变量 // 用户搜索内容 let val ref(""); 第二步:给input绑定v-model (为了获取input框的值) <input v-model"val" type"text" placeholder"请输入行业/公司/名称"/> 第…...
(C++ STL) 详解vector模拟实现
目录 一.vector的介绍 1.vector的介绍 二.vector的定义模拟实现 三.vector各接口的模拟实现 1.vector迭代器的模拟实现 2.构造函数 2.1无参构造 2.2 n个val构造 2.3迭代器区间构造 2.4通过对象初始化(拷贝构造) 3.析构函数 4.size 5.operato…...
c语言从入门到实战——C语言数据类型和变量
C语言数据类型和变量 前言1. 数据类型介绍1.1 字符型1.2 整型1.3 浮点型1.4 布尔类型1.5 各种数据类型的长度1.5.1 sizeof操作符1.5.2 数据类型长度1.5.3 sizeof中表达式不计算 2. signed 和 unsigned3. 数据类型的取值范围4. 变量4.1 变量的创建4.2 变量的分类 5. 算术操作符&…...
[论文精读]Semi-Supervised Classification with Graph Convolutional Networks
论文原文:[1609.02907] Semi-Supervised Classification with Graph Convolutional Networks (arxiv.org) 论文代码:GitHub - tkipf/gcn: Implementation of Graph Convolutional Networks in TensorFlow 英文是纯手打的!论文原文的summari…...
CICD:使用docker+ jenkins + gitlab搭建cicd服务
持续集成解决什么问题 提高软件质量效率迭代便捷部署快速交付、便于管理 持续集成(CI) 集成,就是一些孤立的事物或元素通过某种方式集中在一起,产生联系,从而构建一个有机整体的过程。 持续,就是指长期…...
新能源电池试验中准确模拟高空环境大气压力的解决方案
摘要:针对目前新能源电池热失控和特性研究以及生产中缺乏变环境压力准确模拟装置、错误控制方法造成环境压力控制极不稳定以及氢燃料电池中氢气所带来的易燃易爆问题,本文提出了相应的解决方案。方案的关键一是采用了低漏率电控针阀作为下游控制调节阀实…...
Python 中的模糊字符串匹配
文章目录 Python中使用thefuzz模块匹配模糊字符串使用process模块高效地使用模糊字符串匹配今天,我们将学习如何使用 thefuzz 库,它允许我们在 python 中进行模糊字符串匹配。 此外,我们将学习如何使用 process 模块,该模块允许我们借助模糊字符串逻辑有效地匹配或提取字符…...
记录一个奇怪bug
一开始Weapon脚本是继承Monobehavior的,实例化后挂在gameObject上跟着角色。后来改成了不继承mono的,也不实例化。过程都是顺利的,运行也没问题,脚本编辑器也没有错误。 但偶尔有一次报了一些错误,大概是说Weapon (1)…...
SpringBoot面试题7:SpringBoot支持什么前端模板?
该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:SpringBoot支持什么前端模板? Spring Boot支持多种前端模板,其中包括以下几种常用的: Thymeleaf:Thymeleaf是一种服务器端Java模板引擎,能够…...
leetcode做题笔记172. 阶乘后的零
给定一个整数 n ,返回 n! 结果中尾随零的数量。 提示 n! n * (n - 1) * (n - 2) * ... * 3 * 2 * 1 示例 1: 输入:n 3 输出:0 解释:3! 6 ,不含尾随 0示例 2: 输入:n 5 输出&a…...
linux之shell脚本练习
以下脚本已经是在ubuntu下测试的 demo持续更新中。。。 1、for 循环测试,,,Ping 局域网 #!/bin/bashi1 for i in {1..254} do# 每隔0.3s Ping 一次,每次超时时间3s,Ping的结果直接废弃ping-w 3 -i 0.3 192.168.110.$i…...
CSS阶详细解析一
CSS进阶 目标:掌握复合选择器作用和写法;使用background属性添加背景效果 01-复合选择器 定义:由两个或多个基础选择器,通过不同的方式组合而成。 作用:更准确、更高效的选择目标元素(标签)。…...
osWorkflow-1——osWorkflow官方例子部署启动运行(版本:OSWorkflow-2.8.0)
osWorkflow-1——osWorkflow官方例子部署启动运行(版本:OSWorkflow-2.8.0) 1. 前言——准备工作1.1 下载相关资料1.2 安装翻译插件 2. 开始搞项目2.1 解压 .zip文件2.2 简单小测(war包放入tomcat)2.3 导入项目到 IDE、…...
Stm32_标准库_13_串口蓝牙模块_手机与蓝牙模块通信
代码: #include "stm32f10x.h" // Device header #include "Delay.h" #include "OLED.h" #include "Serial.h"char News[100] "";uint8_t flag 1;void Get_Hc05News(char *a){uint32_t i 0…...
Unity中用序列化和反序列化来保存游戏进度
[System.Serializable]标记类 序列化 [System.Serializable]是一个C#语言中的属性,用于标记类,表示该类的实例可以被序列化和反序列化。序列化是指将对象转换为字节流的过程,以便可以将其保存到文件、数据库或通过网络传输。反序列化则是将字…...
Junit 单元测试之错误和异常处理
错误和异常处理是测试中非常重要的部分。假设我们有一个服务,该服务从数据库中获取用户。现在,我们要考虑的错误场景是:数据库连接断开。 整体代码示例 首先,为了简化,我们让服务层就是简单的类,然后使用I…...
LockSupport-park和unpark编码实战
package com.nanjing.gulimall.zhouyimo.test;import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.LockSupport;/*** author zhou* version 1.0* date 2023/10/16 9:11 下午*/ public class LockSupportDemo {public static void main(String[] args) {…...
dygraphs核心架构解析:理解Canvas渲染机制与高性能图表实现
dygraphs核心架构解析:理解Canvas渲染机制与高性能图表实现 【免费下载链接】dygraphs Interactive visualizations of time series using JavaScript and the HTML canvas tag 项目地址: https://gitcode.com/gh_mirrors/dy/dygraphs dygraphs是一个基于HTM…...
IT运维监控/可观测性
?? 前言:为什么选择 OpenClaw 对接企业微信? 在2026年的企业数字化办公浪潮中,OpenClaw(曾用名 Clawdbot、Moltbot)已成长为国内领先的开源AI自动化代理工具。凭借其“自然语言驱动、插件化拓展、多平台无缝集成”的…...
AI教材生成强力工具!低查重保障,让教材编写事半功倍!
梳理教材知识点确实是一项“精细活”,最大的挑战在于平衡和衔接知识之间的关系。如果不小心,很可能会遗漏一些核心知识点,或者在难度的把控上出现问题——小学教材常常写得过于复杂,让学生难以理解;而高中教材又可能显…...
别再让收款语音卡顿!UniApp + WebSocket 实现流畅支付播报的完整避坑指南
UniApp WebSocket 支付语音播报实战:从性能优化到高并发处理 在移动支付场景中,实时语音播报不仅是用户体验的关键环节,更是商户经营效率的重要保障。想象这样的场景:高峰时段,收银台前排队等待的顾客,收银…...
LangGraph实战:从零构建并部署一个多功能智能体
1. LangGraph框架概述:新一代智能体开发范式 在人工智能应用开发领域,智能体(Agent)技术正经历着从简单问答到复杂任务执行的进化。LangGraph作为LangChain生态中的新一代开发框架,彻底改变了传统链式结构的局限性。我…...
低功耗电源开关电路设计与MCU控制实现
1. 经典电源开关电路设计与分析1.1 系统架构概述该电源开关电路采用三级晶体管控制架构,实现以下核心功能:低功耗待机模式(静态电流<10μA)按键触发启动机制MCU控制的自锁功能软件可控的电源关断系统工作电压为9V输入ÿ…...
全向轮底盘运动控制:嵌入式PID与逆运动学实现
1. 全向轮底盘控制库(omni_wheel)技术解析与工程实践1.1 项目背景与工程定位omni_wheel是为B团队自主移动机器人开发的底层运动控制模块,最初版本发布于2018年7月10日。从其原始README描述“PIDかけて一方向に進むだけのプログラムでござんす…...
深度解析Internet Archive下载器:数字图书馆资源获取的完整方案
深度解析Internet Archive下载器:数字图书馆资源获取的完整方案 【免费下载链接】internet_archive_downloader A chrome/firefox extension that download books from Internet Archive(archive.org) and HathiTrust Digital Library (hathitrust.org) 项目地址:…...
GCC编译选项详解与工程实践指南
GCC编译选项深度解析与工程实践指南1. 编译选项基础概念1.1 编译过程与选项作用GCC编译过程分为预处理、编译、汇编和链接四个阶段。编译选项通过控制这些阶段的行为,实现不同的编译目标:# 完整编译流程示例 gcc -E main.c -o main.i # 预处理 gcc -S…...
VMware ESXi 上玩转 SmartX 超融合社区版:OVF 镜像部署全攻略(含网络配置避坑指南)
VMware ESXi 上部署 SmartX 超融合社区版:OVF 镜像实战指南 虚拟化管理员们常常面临一个现实困境:如何在有限的硬件资源下快速体验企业级超融合架构?SmartX 超融合社区版通过 OVF 镜像部署方案,为 VMware ESXi 环境提供了轻量级验…...
