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)));

 

posted @   Ace-GJH  阅读(290)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示
主题色彩