qstring

QT 主窗口和子窗口相互切换示例

匿名 (未验证) 提交于 2019-12-03 00:29:01
转载自: https://www.cnblogs.com/lsgxeva/p/7808906.html QT 主窗口和子窗口相互切换示例 QT 主窗口和子窗口相互切换示例 文件列表: SubWidget.h #ifndef SUBWIDGET_H #define SUBWIDGET_H #include <QtWidgets/QWidget> #include <QtWidgets/QPushButton> class SubWidget : public QWidget { Q_OBJECT public : explicit SubWidget(QWidget *parent = 0 ); ~ SubWidget(); void sendSlot(); signals: /* * * 信号必须要signals关键字来声明 * 信号没有返回值, 但可以有参数 * 信号就是函数的声明, 无需定义 * 使用: emit mySignal(); * 信号可以被重载 */ void mySignal(); void mySignalParm( int , QString); public slots: private : QPushButton * bt; }; #endif // SUBWIDGET_H SubWidget.cpp #include " SubWidget.h "

Qt中connect函数不能传递参数的两种解决方法

匿名 (未验证) 提交于 2019-12-03 00:27:02
Qt中的connect函数可以让我们动态地管理信号和槽。 比如 现在界面上有一个标签,id为label 。我现在想要动态地创建一个按键,id为push,然后利用connect函数,实现点击push以后,label上显示“Hello world!”,代码如下: <mainwindow.h> #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private: Ui::MainWindow *ui; private slots: void showLabel(); }; #endif // MAINWINDOW_H <mainwindow.cpp> #include "mainwindow.h" #include "ui_mainwindow.h" #include <QPushButton> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent),

Qt Creator编程之正则表达式

匿名 (未验证) 提交于 2019-12-03 00:27:02
正则表达式:在一个文本中匹配子字符串的一种模式,它可以简写为regexp。 一个regexp可以主要应用在以下几个方面: 1.验证。regexp可以测试一个子字符串是否符合一些规范。例如,是否是一个整数或者不包含任何空格等。 2.搜索。regexp提供了比简单的子字符串匹配更强大的模式匹配。例如,匹配单词mail或者letter,而不匹配单词email、mailman或者letterbox。 3.查找和替换。regexp可以使用一个不同的字符串替换所有匹配的子字符串。例如,使用Mail来替换一个字符串中所有的M字符,但是M字符后面有ail时则不进行替换。 4.字符串分割。regexp可以识别在哪里使用正则表达式进行模式匹配。例如,分割制表符隔离的字符串。 Regexps由表达式、量词和断言组成。 表达式:一个字符,例如x和5;一组字符,例如[abc](可以简写为a-c)。 量词:指定了必须要匹配的表达式出现的次数。例如x{1,1}意味着必须匹配且只能匹配一个字符x。 可以使用一些特殊的符号来表示一些常见的字符组和量词。例如,[0-9]可以用"\d"来替代。要匹配0~99,就可以写为"^\d{1,2}$"或者"^\d\d{0,1}$"。而{0,1}表示字符是可选的,就是只出现一次或者不出现,它可以使用"?"来代替,这样regexp就可以写为"^\d\d? $",它意味着从字符串的开始

Qt SQLServerHelper 用QSqlQuery 和 QSqlDatabase 实现

匿名 (未验证) 提交于 2019-12-03 00:26:01
在网上找了很多SQLServer的封装类, 自己重新实现了一下 参考的网址: 这个是一个数据库操作的类, 包含基本的打开关闭curd 点击打开链接 这个是参考实现count, 在迭代器里增加了一个int变量用于计数 点击打开链接 Qt版本 4.8.6 1. 文档结构 2. .pro #------------------------------------------------- # # Project created by QtCreator 2018-06-12T10:23:08 # #------------------------------------------------- QT += core QT -= gui QT += sql TARGET = SQLServerDemo CONFIG += console CONFIG -= app_bundle TEMPLATE = app SOURCES += main.cpp \ sqlserverhelper.cpp HEADERS += \ sqlserverhelper.h 3. main.cpp 这里实现的功能是查询计数和插入记录 #include <QtCore/QCoreApplication> #include "sqlserverhelper.h" #include <QDebug> void

在QTextEdit中加入自动提示功能――加入QCompleter功能

匿名 (未验证) 提交于 2019-12-03 00:22:01
// 如下所示,为QLineEdit添加自动提示功能 #include <QApplication> #include <QCompleter> #include <QLineEdit> #include <QStringList> int main( int ac, char **av) { QApplication app(ac, av); QLineEdit *lineEdit = new QLineEdit; QStringList indicator; for ( int index = 0 ; index < 3 ; ++index) { indicator << QString( "%1" ).arg(index); } QCompleter *completer = new QCompleter(indicator, lineEdit); lineEdit->setCompleter(completer); lineEdit->show(); return app.exec(); } pic-1 : 自动提示 pic-2 (1)获取当前光标所在位置处,对应的单词。因为WordUnderCursor会忽略掉单次内的特殊符号,如$等,因此我们不能使用该方法。 (2)涉及到一个事件(QKeyEvent)和一个信号(activated())的处理。 (3

Qt学习笔记(十)QtTreePropertyBrowser属性表用法及样式修改

匿名 (未验证) 提交于 2019-12-03 00:22:01
QtTreePropertyBrowser继承自QtreeWidget类 在Qt源码中可以找到qtpropertybrowser即属性表,路径为E:\qt5.7.1\5.7\Src\qttools\src\shared 将qtpropertybrowser编译后即可使用属性表 将一个QWidget widget_2提升为QtTreePropertyBrowser QtVariantPropertyManager * m_pVarManagerLuRu; //可修改 QtVariantPropertyManager * m_pVarManagerLuRu1; //不可修改 QtVariantEditorFactory * m_pVarFactoryLuRu; //数据工厂 m_pVarManagerLuRu = new QtVariantPropertyManager(ui -> widget_2); m_pVarManagerLuRu1 = new QtVariantPropertyManager(ui -> widget_2); m_pVarFactoryLuRu = new QtVariantEditorFactory(ui -> widget_2); ui -> widget_2 -> setFactoryForManager(m_pVarManagerLuRu, m

QT创建和使用INI配置文件

匿名 (未验证) 提交于 2019-12-03 00:22:01
单独把配置文件写成一个类的好处是,在需要用到读写配置的类中只需要把配置的头文件包含进来就直接可以调用其方法,下面就是读写配置的代码,设置完毕重启生效。 widget.h #ifndef WIDGET_H # define WIDGET_H #include <QWidget> namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public : explicit Widget (QWidget *parent = 0 ); ~Widget(); public slots: void SaveNetParametersSlot (); private : Ui::Widget *ui; }; # endif // WIDGET_H widget.cpp #include "widget.h" #include "ui_widget.h" #include "ini_file.h"//只要将头文件包含进来就可以调用类的方法 #include <QMessageBox> Widget :: Widget ( QWidget *parent) : QWidget (parent), ui(new Ui :: Widget ) { ui->setupUi(this); ui->lineEdit-

qDebug输出QString

匿名 (未验证) 提交于 2019-12-03 00:22:01
原文地址:: https://blog.csdn.net/lian_gong2009/article/details/50468887 [cpp] view plain copy qDebug( 应该使用如下函数转换一下: const char * qPrintable(const QString & str) Returns str as a const char *. This is equivalent to str.toLocal8Bit().constData(). 文章来源: qDebug输出QString

QT - 正则表达式

匿名 (未验证) 提交于 2019-12-03 00:22:01
一、提取字符串 QString str = "Hello 123321 world 12313 !"; QRegExp rx(R"""([\d]+)"""); int pos = 0; while((pos = rx.indexIn(str,pos)) != -1){ QStringList list = rx.capturedTexts(); pos += rx.matchedLength(); qDebug() << list; } 结果为: ("123321") ("12313") 二、替换字符串 1、普通正则替换 QString str = "Hello 123321=a world 12313=b !"; QRegExp rx(R"""([\d]+)"""); QString newStr = str.replace(rx,"number"); qDebug() << newStr; 结果为: "Hello number=a world number=b !" 2、占位符替换 QString str = "Hello 123321=a world 12313=b !"; QRegExp rx(R"""(([\d]+)=([\w]))"""); QString newStr = str.replace(rx,R"""(\1\2=\2)"""); qDebug() <<