QT
WJsuperrunner
学无止境
展开
-
Qt信号槽的几种写法
信号槽是Qt的核心部分,它使得对象之间的的通信变得很简单。Qt通过connect来连接信号与槽,当信号被发出时,槽函数立刻被执行,connect函数有五个重载:// 重载1QMetaObject::Connection connect(const QObject *, const char *, const QObject *, const char , Qt::ConnectionType); // 重载2QMetaObject::Connection connect(const QObject原创 2021-02-13 13:59:23 · 987 阅读 · 0 评论 -
Qt 优化QTreeWidget的三态:勾选,未勾选,半勾选
这是以前做过的例子,之前是参考的网上的例子,觉得遍历次数太多,效率不行。自己尝试优化修改了一番。小试牛刀,欢迎拍砖。效果如下图:示例数据做得比较粗糙。来看看是怎么实现的吧。功能勾选树控件的节点,其子节点全部选中或全部取消选中父节点选中或者部分选中实现QTreeWidgetItem的复选框,可以通过setCheckState(int column,Qt::CheckState stat...转载 2020-03-07 10:16:35 · 2365 阅读 · 0 评论 -
QT 如何设置TreeView控件有连接线
一句代码搞定:ui.treeWidget->setStyle(QStyleFactory::create("windows"));原创 2020-03-07 09:57:00 · 2296 阅读 · 0 评论 -
QT如何截图
void CMainWin::ScreenShot(){ QDir dir; //进入某文件夹 dir.cd("./"); //判断需要创建的文件夹是否存在 if (!dir.exists("ScreenShot")) { qDebug() << "Create Dir"; //创建文件夹 dir.mkdir("ScreenShot"); } QSt...原创 2020-03-05 18:59:02 · 251 阅读 · 0 评论 -
QT如何获取文件夹名及路径,文件名及文件路径
1、获取文件夹名//获取目录下的文件夹名列表QStringList GetDirNameList(const QString &strDirpath){ QDir dir(strDirpath); QFileInfoList Info_list = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot); QListIterat...原创 2020-03-01 10:53:56 · 9655 阅读 · 0 评论 -
QT QTableView设置列宽自适应和水平滚动
两行代码搞定 //设置tableView水平滚动和自适应宽度 ui.tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); ui.tableView->horizontalHeader()->setStretchLastSection(false);...原创 2020-02-26 11:47:08 · 3509 阅读 · 3 评论 -
QT关于QTreeWidget 如何获取当前Item文本
直接上代码QTreeWidgetItem *pCurrentItem = ui.treeWidget->currentItem();QString strText = pCurrentItem->text(0);text(0) 中的 0 表示 columns 第一栏(通俗点就是第一列吧)...原创 2020-02-26 11:43:01 · 11187 阅读 · 0 评论 -
QT 正则表达式格式汇总
只能输入数字:"^[0-9]*$"。只能输入n位的数字:"^\d{n}$"。只能输入至少n位的数字:"^\d{n,}$"。只能输入m~n位的数字:"^\d{m,n}$"。只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?...原创 2020-02-23 22:38:39 · 802 阅读 · 0 评论 -
QT sqlite数据库 日期为变量时,如何按时间筛选数据库中的数据
//起始时间 QString strBegTime = ui.BegdateTimeEdit->text(); //结束时间 QString strEndTime = ui.EnddateTimeEdit->text(); //搜索命令 QString strQuery = "select * from Log where DateTime >= \'" + strB...原创 2020-02-18 16:27:50 · 2291 阅读 · 1 评论 -
QT char*,char[],QString,string互相转换
char*,char[],QString,string互相转换比较杂,本文参考现有博文做了总结。1.char* 转QString方法一:直接用QString的构造函数转换,如下:char* ch = "acuity";QString str(ch);方法二:用QString的静态转换函数获取,如fromUtf8()、fromLocal8bit()、fromUtf16(),如下:cha...转载 2020-01-12 22:36:12 · 12337 阅读 · 0 评论 -
QT 利用QStackWidget 和提升为类的方式 实现界面切换
环境:QT5 + VS2013首先新建一个带ui的主界面类,在添加两个带ui界面的类FirstPage和SecondPage,这里都是用了QWiget。然后在主界面中拖拽一个stackWidget,默认有两个界面,这里改名为page1和page2,并将他们俩提升为刚刚添加的那两个类(提升类的方法这里就不赘述了)。效果图如下:其它就不多说了,直接上代码:主窗口://.h#ifndef M...原创 2019-12-25 21:53:48 · 2013 阅读 · 0 评论 -
QT 父窗口如何通过单击按钮调出自定义对话框
qqqq原创 2019-12-25 21:09:12 · 1031 阅读 · 0 评论 -
QT QTableWidget设置单元格不可编辑
简单记录一下解决这个问题的方法:方法1: QTableWidgetItem* pItem = ui.tablewidget->item(iRowIndex, iColIndex); //获取该单元格的pItem pItem->setFlags(Qt::ItemIsEditable);这种方法可以使单元格内容变为灰色,且不能选中单元格;用户不能编辑单元格内容,但是可以这样修改:...原创 2019-12-23 16:19:35 · 9392 阅读 · 0 评论 -
QT QTableWidget向单元格格中填充控件,如何单击获取该控件所在的行和列
最近在使用QTableWidget,想要获取某个单元所在的行和列,一般可以使用QTableWidget的信号void cellEntered(int row, int column)。写自己的槽函数void MySlotFun(int row, int column)获取行和列即可。注意:该种方法只要将鼠标放在单元格上就可以获得该单元格的行和列。void cellEntered(int row...原创 2019-12-23 16:06:02 · 2173 阅读 · 7 评论 -
QT 如何在弹出自定义对话框时主界面不可操作
最近在做主界面通过按钮弹出对话框时,想让弹出对话框时主界面不可操作。总结两种方法如下;方法一:继承QDialog,class CMyDialog : public QDialog{ Q_OBJECTpublic: CMyDialog(QWidget *parent = 0); ~CMyDialog(); QStringList GetValue();private: Ui...原创 2019-12-20 12:42:34 · 3125 阅读 · 0 评论 -
VS2013+QT 编译时 “QDomDocument” 文件找不到的问题
这里将提供两种解决办法方法一:【右键工程】,选择【Qt Projct Setting】,勾选XML即可。方法二:步骤一:项目->属性->c/c+±>常规->附加包含目录->在弹出的对话框中,点那个文件夹形状的按钮添加新行,输入$(QTDIR)\include\QtXml步骤二:项目->属性->连接器->输入->附加依赖项,添加 Q...原创 2019-12-12 18:35:17 · 3967 阅读 · 0 评论 -
QT 事件滤波器实现全屏显示、右键菜单
bool MyMain::eventFilter(QObject *watched, QEvent *event){ if (watched == ui.ShowLabel)//当事件发生在(为Qlabel型)控件上 { if (event->type() == QEvent::KeyPress) { //ESC退出全屏 QKeyEvent* keyEvent...原创 2019-11-01 22:09:34 · 564 阅读 · 0 评论 -
Qt中实现屏幕或窗口(控件)截图功能
要想在Qt中实现屏幕或窗口截图功能 ,通常有两种方法: 1-- 使用 QPixmap 类 2-- 使用 QScreen类然而虽然俩两种方法用到的类不相同,但是调用到的类成员函数的函数名称和参数却是相同的都是 grabWindow() 这个函数所不同的是QPixmap中的 grabWindow()函数 是静态成员QScreen中的grabWindow()成员是非静...转载 2019-10-21 14:18:11 · 7143 阅读 · 2 评论