Qt日常学习

article/2025/10/25 1:00:10

2022/07/28

使用Visual Studio2019 搭配 Qt5.14,可视化Qt界面使用QtDesigner。

若只使用代码来做界面太麻烦,效率低;只使用可视化界面进行拖拽效率高但无法实现全部功能。使用代码+可视化结合的方式能够实现绝大部分功能。

练习1:将进度条添加到状态栏中,创建label组件添加到状态栏中,在状态栏中创建进度显示,效果如图:

.h文件:

private:QLabel* fLabCurFile;//状态栏显示当前文件的LabelQProgressBar* progressBar1;//状态栏上的进度条QSpinBox* spinFontSize;//字体大小QFontComboBox* comboFont;//字体名称void iniUI();//代码实现UI的初始化

 .cpp文件:

void Qt0::iniUI() {//状态栏上添加组件fLabCurFile = new QLabel;fLabCurFile->setMinimumWidth(150);fLabCurFile->setText("当前文件:");ui.statusBar->addWidget(fLabCurFile);//添加到状态栏//progressBar1 = new QProgressBar;progressBar1 = new QProgressBar;progressBar1->setMaximumWidth(200);progressBar1->setMinimum(5);progressBar1->setMaximum(50);progressBar1->setValue(ui.textEdit->font().pointSize());ui.statusBar->addWidget(progressBar1);//添加到状态栏//工具栏上添加组件spinFontSize = new QSpinBox;spinFontSize->setMinimum(5);spinFontSize->setMaximum(50);spinFontSize->setValue(ui.textEdit->font().pointSize());spinFontSize->setMinimumWidth(50);ui.mainToolBar->addWidget(new QLabel("字体大小 "));ui.mainToolBar->addWidget(spinFontSize);//spinbox添加到工具栏ui.mainToolBar->addSeparator();//分隔条ui.mainToolBar->addWidget(new QLabel("字体 "));comboFont = new QFontComboBox;comboFont->setMinimumWidth(150);ui.mainToolBar->addWidget(comboFont); //添加到工具栏setCentralWidget(ui.textEdit);//progressBar1-}//在构造函数中,调用函数,实现添加功能
Qt0::Qt0(QWidget *parent): QMainWindow(parent)
{ui.setupUi(this);iniUI();//调用添加函数}

解决问题1:

QT显示界面中文乱码:

在头文件中添加如下代码:

#if defined(_MSC_VER) && (_MSC_VER >= 1600)
# pragma execution_character_set("utf-8")
#endif

2022/7/29

对于visual studio中使用qt designer,不能直接使用右键->转到槽的方式设置槽函数,也不能使用 

 上述两种方式均不会将信号传递到槽中。

在vs中,使用下面这种方式更加有效:

其中&用来传递指针,槽函数正常编写。

代码:

Qt4::Qt4(QWidget *parent): QMainWindow(parent)
{ui.setupUi(this);iniSignalSlots();
}
void Qt4::iniSignalSlots() {connect(ui.btnTotal, &QPushButton::clicked, this, &Qt4::on_btnCal_clicked);
}
void Qt4::on_btnCal_clicked() {QString str = ui.editNums->toPlainText();//获取文本框中的内容qDebug() << "str==" << str;int num = str.toInt();str = ui.editPrice->toPlainText();float price = str.toFloat();float total = num * price;str = str.sprintf("%.2f", total);ui.editPrices->setText(str);
}

2022/08/03

在工具栏中嵌入ToolButton(图标式),单纯的在Qtdesigner中无法直接拖动,需要配合代码。

首先在Qtdesigner中拖出N个ToolButton,对于每个TBtn赋予相应的Action:

 

 在图标出选择相应的ico文件,至此完成Designer上的工作,下面需要在VS中创建相应的函数将其显示到工具栏中并编辑Action:

//弹出菜单
void Qt46::creatSelectionPopMenu() {//创建下拉菜单QMenu* menuSelection = new QMenu(this);//创建选择弹出式菜单ui.mainToolBar->addWidget(ui.tbtnListIni);ui.mainToolBar->addSeparator();//分隔条ui.mainToolBar->addWidget(ui.tbtnListClear);ui.mainToolBar->addSeparator();//分隔条ui.mainToolBar->addWidget(ui.tbtnListInsert);ui.mainToolBar->addSeparator();//分隔条ui.mainToolBar->addWidget(ui.tbtnListAppend);ui.mainToolBar->addSeparator();//分隔条ui.mainToolBar->addWidget(ui.tbtnListDelete);ui.mainToolBar->addSeparator();//分隔条menuSelection->addAction(ui.actSelALL);menuSelection->addAction(ui.actSelNone);menuSelection->addAction(ui.actSelInvs);
}


http://chatgpt.dhexx.cn/article/koGy98k2.shtml

相关文章

QT入门学习(一):什么是QT

QT 是什么&#xff1f; QT是一个跨平台C图形用户界面应用程序开发框架。它不仅可以开发GUI程序&#xff0c;也可以开发非GUI程序。我们通常使用QT开发GUI程序。 它可以开发Windows、Linux、Mac平台的应用程序。也可以开发移动端应用程序以及嵌入式程序。 QT 模块 QT 有模块…

一位大佬对于 Qt 学习的最全总结(三万字干货)

击上方“C语言与CPP编程”&#xff0c;选择“关注/置顶/星标公众号” 干货福利&#xff0c;第一时间送达&#xff01; 分享一位大佬 Github 上关于 Qt 学习的总结。作者无私分享了一百多个自定义控件以及几本 Qt 的书籍&#xff08;C Qt&#xff09;&#xff0c;特此引用这个大…

QT学习笔记(一)——QT基础

QT学习笔记&#xff08;一&#xff09;——QT基础 文章目录 QT学习笔记&#xff08;一&#xff09;——QT基础前言一、QT是什么&#xff1f;二、基础内容1.pro文件规则及含义2. Widget头文件3. QT坐标系的定义4. QApplication应用程序类5.按钮&#xff1a;QPushButton6. 信号和…

Qt初学者的一些学习方法、参考资料

1&#xff0c;简介 最近有一些朋友加我&#xff0c;询问Qt入门学习的方法、资料 我基本都一一作答&#xff0c;根据情况给出了一些参考意见 感觉很多新手开始学习时很迷茫&#xff0c;不知道学习哪些方面、看什么资料 这里干脆写一篇文章&#xff0c;把自己的学习过程给大家介…

Qt学习之C++基础

前言 用了大概2个月的时间&#xff0c;学了Qt&#xff0c;然后开发一个小项目&#xff0c;总的来说&#xff0c;在主机GUI程序中&#xff0c;相比Java的Swing和JavaFX&#xff0c;个人感觉Qt的界面设计更加简便一点&#xff0c;灵活性更高一些&#xff0c;然后下边就主要简述一…

Qt学习之Qt基础入门(中)

1. 前言 上一篇博客&#xff0c;总结了Qt的一些基础用法&#xff0c;这篇博客继续跟视频学习Qt的常用方法 Qt入门系列&#xff1a; Qt学习之C基础 Qt学习之Qt安装 Qt学习之Qt基础入门(上) Qt学习之Qt基础入门(中) Qt学习之Qt基础入门(下) 本文原创&#xff0c;创作不易&…

Qt学习之Qt基础入门(上)

1. 前言 上一篇博客&#xff0c;简单的介绍了一下C的面向对象编程&#xff0c;这篇博客就主要是用来入门Qt&#xff0c;废话不多说&#xff0c;开干&#xff01; Qt入门系列&#xff1a; Qt学习之C基础 Qt学习之Qt安装 Qt学习之Qt基础入门(上) Qt学习之Qt基础入门(中) Qt学习…

qt基础入门教程

1、t的介绍、优点、成功案例 5.8.0 Qt是一个跨平台的C图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。爸是完全面向对象的&#xff0c;很容易扩展&#xff0c;并且允许真正的组件编程。 推荐安装 wps linux 桌面环境 虚拟机软件 屏幕共…

Qt入门教程100篇(已完结)

&#x1f608;「CSDN主页」&#xff1a;传送门 &#x1f608;「Bilibil首页」&#xff1a;传送门 &#x1f608;「CSDN学院」&#xff1a;传送门 &#x1f608;「本文的内容」&#xff1a;Qt基础教程 &#x1f608;「动动你的小手」&#xff1a;点赞&#x1f44d;收藏⭐️评论&…

QT入门看这一篇就够了——超详细讲解(40000多字详细讲解,涵盖qt大量知识)

目录 一、Qt概述 1.1 什么是Qt 1.2 Qt的发展史 1.3 Qt的优势 1.4 Qt版本 1.5 成功案例 二、创建Qt项目 2.1 使用向导创建 2.2 一个最简单的Qt应用程序 2.2.1 main函数中 2.2.2 类头文件 2.3 .pro文件 2.4 命名规范 2.5 QtCreator常用快捷键 三、Qt按钮小程序 …

QT入门到实战学习笔记

学习笔记 最新QT从入门到实战完整版|传智教育_哔哩哔哩_bilibili 目录 1.创建一个QT文件 1.1命名规范 1.2快捷键 2QPushButton创建 2.1防止汉语乱码 2.2对象树 2.3Qt窗口坐标体系 3信号和槽机制 3.1自定义信号和槽 3.1.1自定义信号&#xff1a; 3.1.2自定义槽&#…

pdflatex和xelatex的使用差别和建议

关于pdflatex和xelatex的区别的一些注意点 pdflatex 和xelatex分别是什么我遇到的一些问题 pdflatex 和xelatex分别是什么 pdflatex 和xelatex是latex编译中最常用的编译方式&#xff0c;而且效果一般都是比较好的。 PDFLaTeX命令&#xff1a;PDFTeX程序中的命令&#xff0c;用…

关于MAC解决jupyter中出现nbconvert failed/ xelatex not found on path报错

前言 开开心心的花了半个小时做完了2303的期中测试&#xff0c;结果在导出为pdf的时候提示我500错误&#xff0c;说明为nbconvert failed: xelatex not found on path&#xff0c;我当时就蒙了昂&#xff0c;不过还好考试时间是三个小时&#xff0c;还能浪浪&#xff0c;但是我…

【LaTex使用总结】LaTex,pdflatex,xelatex,xetex等的区别和关系

问题是这样产生的&#xff0c;从本科毕设开始接触LaTex起&#xff0c;使用现成的模板进行编译生成操作&#xff0c;一步步按指示操作也从未深究。 后来使用word较多&#xff0c;LaTex经常是简单模板&#xff0c;也渐渐对LaTex的细节不再感兴趣&#xff0c;近期又开始用LaTex撰写…

pyplot 使用 latex 报错:xelatex not found……

错误提示 发生异常: RuntimeError xelatex not found. Install it or change rcParams[pgf.texsystem] to an available TeX implementation. 原始参数&#xff1a; plt.rcParams.update({"pgf.texsystem": "xelatex","text.usetex": True,# u…

Winedt为什么可以用pdfLaTex编译中文(pdfLaTex和XeLaTex的使用)

文章目录 Winedt为什么可以用pdfLaTex编译中文查看Winedt的默认编译器&#xff1a; 1.XeLaTex和pdfLaTex的关系2.Winedt中使用pdfLaTex编译中文的tex3.原因4.验证 Winedt为什么可以用pdfLaTex编译中文 前言&#xff1a;如果你只是想用Winedt实现LaTex中英混排那么可以直接选择…

recipe terminated with fatal error: spawn xelatex enoent.

vscode配置latex的小问题 问题产生的原因是环境变量没有配置好。所以只需要把环境变量配置好就可以了。 1、 打开textlive安装的路径&#xff08;…\textlive\2022\bin\win32&#xff09;&#xff0c;比如我的就是C:\texlive\2022\bin\win32 2、编辑环境变量&#xff1a; 编…

TeXstudio报错: fwrite: Broken pipe xelatex.exe

错误&#xff1a; 解决方法&#xff1a; 选项->设置TeXstudio 默认编译器换成PdfLaTex&#xff1a; 问题解决。

CTEX编译Xelatex以及如何更新Miktex

1.现在很多科研人员都喜欢用latex来写文章&#xff0c;主要是latex有了模板之后排版较简单&#xff0c;而且参考文献比较容易生成&#xff0c;不需要再去排版。本人自己比较喜欢使用CTEX&#xff0c;这个得看个人习惯使用吧。有很多同胞在使用CTEX 时可能会遇到无法编译Xelatex…

linux下latex使用教程,LaTeX使用--XeLaTeX入门基础(二)

主机平台&#xff1a;Gentoo Linux 11.2 内核版本&#xff1a;Linux Kernel 3.2.1 编译环境&#xff1a;XeTeX 3.1415926-2.3-0.9997.5 (TeX Live 2011) 相关阅读 主机平台&#xff1a;Gentoo Linux 11.2 内核版本&#xff1a;Linux Kernel 3.2.1 编译环境&#xff1a;XeTeX 3.…