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 @ 2021-04-28 19:27  Ace-GJH  阅读(258)  评论(0编辑  收藏  举报