QT软件开发笔记--初探QT
1.QT界面开发的核心
connect(ui.btnWorkNext, SIGNAL(clicked(bool)), this, SLOT(OnOKbtnNext()));
ui为当前页面的页面ui,SIGNAL为QT信号槽,从界面的信号传输信号,SLOT为插槽是响应的事件,接收到信号执行该命令。signal可以从中QT手册中相应类的介绍,如果类中没有相关类,从父类中查到。
2.相关常用函数作用
isChecked()判断 输入参数为 false true 判断是否是checkedBox是否被选择
setEnabled() 控制界面是否使能
a->show();控制界面展示
this->close();控制界面关闭
3.btn 打开选择文件夹
QString srcDirPath = QFileDialog::getExistingDirectory(this, "choose src Directory","/");
getExistingDirectory可以打开文件资源管理 选择文件夹后路径保存到srcDirPath。
4.QT界面textedit判断内容是否为空
不能直接判断edit是否为空,需要通过将edit数据,ui.eample->tostdString(),保存至QString,再通过QString.empty()判断是否为空。清除text信息 ui.garyDataEdit->clear();
5.QT路径与常规WIndow的路径有所不同 两个路径需要经过一定转换
string转化为QString,QString tempRoot = QString::fromStdString(pathRoot);
QString路径,Qt是跨平台的,windows的文件路径分隔符是\,而linux的分隔符为/,要实现window下编写的程序直接应用到linux下, 在构造文件路径时,可以用QDir::toNativeSeparators
采用系统函数对文件夹进行新建或者删除,
新建文件夹:
command = "mkdir -p " + cutImgDataPath;
system(command.c_str());
删除文件夹:
std::string path = "del " + qstr2.toStdString() + " /q /s /f";
system(path.c_str());//调用windows api删除指定文件夹
6.解除QT乱码问题
QString errorlable = QString::fromLocal8Bit("(分色系数必须在0-255)");
7.graphicsView 场景模块 导入超大图片
QPixmap pix(qstr2);
QGraphicsScene *scene = new QGraphicsScene(); //创建场景,载入图像
scene->addPixmap(pix.scaledToWidth(ui.graphicsView->width()));
ui.graphicsView->setScene(scene); //用控件显示这个场景
8.QT打开文件夹
QDesktopServices::openUrl(QUrl(qstr2));
7.QT限制edit只能输入数字 只有运行到这一行才能生效
ui.featureNumEdit->setValidator((new QIntValidator(ui.featureNumEdit)));
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律