Qt常用控件、警告与问题总结

2023-11-11

Qt Creator 转 Visual Studio

Qt Creator转Visual Studio

在pro文件所在文件夹,打开cmd

qmake -tp vc [x]

Visual Studio转Qt Creator

Qt VS Tools->Convert Project to Qt VS Tools Project

QT开发总结

样式表(QSS)

  1. 创建样式表

    1. 新建文本文档,后缀改为*.qss*。
    2. qss以ANSI格式编码,UTF-8无BOM。
  2. 加载样式表

    1. 静态加载

      1. 同加载资源文件。
    2. 动态加载

      1. 路径写为绝对路径
      #include <QFile>
      
      QString qss;
      QFile qssFile(":/styles/qstylesheet.qss");
      qssFile.open(QFile::ReadOnly);
      if(qssFile.isOpen())
      {
          qss = QLatin1String(qssFile.readAll());
          qApp->setStyleSheet(qss);
          qssFile.close();
      }
      
  3. 使用样式表

    1. 加载样式表后,选择器

letter-spacing: 5.1.2才有

Alignment

enum Qt::AlignmentFlag
flags Qt::Alignment

This enum type is used to describe alignment. It contains horizontal and vertical flags that can be combined to produce the required effect.

The TextElideMode enum can also be used in many situations to fine-tune the appearance of aligned text.

The horizontal flags are:

Constant Value Description
Qt::AlignLeft 0x0001 Aligns with the left edge.
Qt::AlignRight 0x0002 Aligns with the right edge.
Qt::AlignHCenter 0x0004 Centers horizontally in the available space.
Qt::AlignJustify 0x0008 Justifies the text in the available space.

The vertical flags are:

Constant Value Description
Qt::AlignTop 0x0020 Aligns with the top.
Qt::AlignBottom 0x0040 Aligns with the bottom.
Qt::AlignVCenter 0x0080 Centers vertically in the available space.
Qt::AlignBaseline 0x0100 Aligns with the baseline.

You can use only one of the horizontal flags at a time. There is one two-dimensional flag:

Constant Value Description
Qt::AlignCenter AlignVCenter | AlignHCenter Centers in both dimensions.

You can use at most one horizontal and one vertical flag at a time. Qt::AlignCenter counts as both horizontal and vertical.

Three enum values are useful in applications that can be run in right-to-left mode:

Constant Value Description
Qt::AlignAbsolute 0x0010 If the widget’s layout direction is Qt::RightToLeft (instead of Qt::LeftToRight, the default), Qt::AlignLeft refers to the right edge and Qt::AlignRight to the left edge. This is normally the desired behavior. If you want Qt::AlignLeft to always mean “left” and Qt::AlignRight to always mean “right”, combine the flag with Qt::AlignAbsolute.
Qt::AlignLeading AlignLeft Synonym for Qt::AlignLeft.
Qt::AlignTrailing AlignRight Synonym for Qt::AlignRight.

Masks:

Constant Value
Qt::AlignHorizontal_Mask AlignLeft | AlignRight | AlignHCenter | AlignJustify | AlignAbsolute
Qt::AlignVertical_Mask AlignTop | AlignBottom | AlignVCenter | AlignBaseline

Conflicting combinations of flags have undefined meanings.

The Alignment type is a typedef for QFlags. It stores an OR combination of AlignmentFlag values.

QLabel

设置文字对齐方式,QSS的text-align有时会失效,使用:

qproperty-alignment:'AlignRight|AlignBottom';

QToolButton与QPushButton

QToolButton: 图标按钮

QPushButton: 文字按钮

QTableWidget

ui->tableWgt->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); //设置表头填充表格
ui->tableWgt->horizontalHeader()->setHighlightSections(false); // 设置点击时表头不亮
// 选中整行
ui->tableWgt->setSelectionBehavior(QTableWidget::SelectRows);
ui->tableWgt->setSelectionMode(QAbstractItemView::SingleSelection);
ui->tableWgt->setContentsMargins(10, 0, 10, 0);
ui->tableWgt->setColumnCount(6);
ui->tableWgt->horizontalHeader()->setFixedHeight(36);

一般样式设计

setSelectionBehavior(QAbstractItemView::SelectRows); // 选中整行
horizontalHeader()->setHighlightSections(false);     // 设置点击时表头不亮

双击item字体不变色

设置代理

class ItemDelegate : public QItemDelegate
{
    Q_OBJECT
public:
    ItemDelegate()
    {

    }

private:
    void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index)
    {
        QStyleOptionViewItem itemOption(option);
        QColor ItemForgeroundColor = index.data(Qt::ForegroundRole).value<QColor>();
        if(ItemForgeroundColor.isValid())
        {
            if(ItemForgeroundColor != option.palette.color(QPalette::WindowText))
            {
                itemOption.palette.setColor(QPalette::HighlightedText, ItemForgeroundColor);
            }
        }
        QItemDelegate::paint(painter, itemOption, index);
    }
};

//使用:
ui->tablewidget->setItemDelegated(new ItemDelegate());  

拖拽item

ui设置:

setDragDropMode(QAbstractItemView::DragDrop);      // 设置拖拽
setDropIndicatorShown(true);                       // 显示拖拽

拖拽接收:

bool eventFilter(QObject *watched, QEvent *event)
{
    switch (event->type())
    {
    // 拖拽
    case QEvent::DragEnter:
    {
        emit /*signal*/;
        break;
    } 
    }
}

// 必须重载以下三个函数
void dragEnterEvent(QDragEnterEvent *event)
{
    // 验证传入的控件
    QObject *source = event->source();

    if (source->metaObject()->className() != QStringLiteral("QTreeWidget")) {
        event->ignore();
        return;
    }
    event->acceptProposedAction();
}

void dragMoveEvent(QDragMoveEvent *event)
{
    if (event->source() == this)
    {
        event->setDropAction(Qt::MoveAction);
        event->accept();
    }
    else
    {
        event->acceptProposedAction();
    }
}

void dropEvent(QDropEvent *event)
{
    emit /*signal*/;

    return;
}

QComboBox

QStringList cmbxObject;
cmbxObject << QStringLiteral("label1") << QStringLiteral("label2") << QStringLiteral("label3");
ui->cbObject->addItems(cmbxObject);
ui->cbObject->setCurrentIndex(0);

隐藏item

QListView* view = dynamic_cast<QListView*>(ui->cmbxObject->view());
if (view != nullptr) {
    view->setRowHidden(1, true);
}

QSplitter

分离部件,用于布局

QT窗口操作函数(置顶、全屏,最大化最小化按钮设置)

窗口置顶 与 取消置顶

void MainWindow::on_windowTopButton_clicked()
{
    if(m_flags == nullptr)
    {
        m_flags = windowFlags();
        setWindowFlags(m_flags | Qt::WindowStaysTopHint);
        this->show();
    }
    else
    {
        m_flags = nullptr;
        setWindowFlags(m_flags);
        this->show();
    }
}

全屏显示 与 退出全屏

showFullScreen();	// 全屏显示函数
showNormal();	// 退出全屏函数
showMaximized();	// 最大化函数
showMinimized();	// 最小化函数
resize(x, y);		// 固定尺寸显示
setMaximumSize(w, h);	// 最大尺寸函数
setMinimumSize(w, h);	// 最小尺寸函数

其中showFullScreenshowNormal只对顶层窗口有效,对子窗口无效。用下面的方法将子窗口升成顶层窗口。

  • 对子窗口使用setWindowFlags(Qt::Window)升成顶层窗口,然后调用showFullScreen
  • 全屏后恢复正常,调用setWindowFlags(Qt::subWindow),将子窗口设置为非顶层窗口,再调用showNormal恢复正常。

最大化、最小化、关闭按钮

1、在Dialog中添加最大化、最小化、关闭按钮。

this->setWindowFlags(Qt::Dialog | Qt::WindowMinMaxButtonHint | Qt::WindowCloseButtonHint);

WindowMinMaxButtonHint设置最大和最小按钮,只设置这个,关闭按钮不可用,因此需要添加WindowCloseButtonHint

2、只禁止最大化按钮

this->setWindowFlags(windowFlags() &~ Qt::WindowMaximizedButtonHint);

WindowMaximizedButtonHintWindowType枚举数量,通过修改它可以选择禁止”最小化“或者”关闭“按钮。

3、禁止屏幕拖动

this->setFixedSize(this->width(), this->height());

4、获取屏幕的宽度和高度

QApplication::desktop()->width();
QApplication::desktop()->height();

QString与int互相转换

QString转int

// 1、toInt()
QString str("100");
int tmp = str.toInt();
// 2、
bool ok;
QString str("100");
int tmp = str.toInt(&ok);

int转QString

int tmp = 100;
QString str = QString::number(tmp);

跨组件传递信号

一个父级组件有两个子级组件,子组件A传递信号给子组件B。

方法一,使用代理模式

方法二,绑定组件

QListWidgetItem *pItem   = new QListWidgetItem();
QPushButton* pBtn = pWgtItem->getBtn();
connect(pBtn, SIGNAL(clicked()), this, SLOT(s_showWgtChat()));

插入像素图pixmap

QTableWidget中插入像素图。

效果图:

image-20211228115222345

代码:

// 1. 创建QPixmap对象,绑定路径(绝对/相对都可),设置大小、缩放。
// 绝对路径
QPixmap piximg("D:/images/icons/arrow_double_to_right.png"); 
// 相对路径
// QPixmap piximg(":/icons/arrow_double_to_right.png"); 
piximg = piximg.scaled(32, 32, Qt::KeepAspectRatio, Qt::SmoothTransformation);

// 2. 创建QLabel,绑定QPixmap。
QLabel *l1 = new QLabel();
l1->setPixmap(piximg);
//    l1->setMaximumSize(32, 32);
//    l1->setScaledContents(true);
l1->setAlignment(Qt::AlignHCenter); // 居中

// 3. 设置表格中的位置
ui->wgtTableCalling->setCellWidget(i, 1, l1);

QT所有字体

QFontDatabase database;
foreach(const QString &family, database.families(QFontDatabase::Any))
{
    qDebug() << family;
}

widget不显示

日志(重写QLog.h)

Qt输出日志到指定文件只需重写QLog.h

  1. pro文件中添加“DEFINES += QT_MESSAGELOGCONTEXT”,打印日志不需要输入“__LINE__”;

    // 1: 添加
    qDebug() << __FUNCTION__:
    // 2: 不添加
    qDebug() << __FUNCTION__ << __LINE__;
    
  2. 主函数中安装重写的日志函数:

// 安装日志函数
setLogParam(argc, argv);
qInstallMessageHandler(installLog);
deleteLog(30);


### 日志类型

```c++
// 一般信息
#define qDebug QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC).debug
// 信息
#define qInfo QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC).info
// 警告
#define qWarning QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC).warning
// 严重错误
#define qCritical QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC).critical
// 致命错误
#define qFatal QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC).fatal

QDebug

#include <QDebug>

qDebug() << "HelloWorld";
int num = 0;
QString str = "HelloWorld";
qDebug("num = %d, str = %s", num, str);
// %x

QT 编译代码警告总结

QT 5.9.6,C++ 11,Clang编译

zero as null pointer constant

C++11中使用NULL代替nullptr

C++中NULL定义为整数0:

#ifndef NULL
#ifdef __cplusplus
  #define NULL 0
#else
  #define NULL ((void *)0)
#endif
#endif

use of old-style cast

类型转换

类型1

int iNum = 10;
// warning: use of old-style cast
double dNum1 = (double)iNum / 10;
// 使用静态或动态cast
double dNum2 = static_cast<double>(iNum / 10);

static_cast运算符

静态强制转换

仅 基于表达式 中的类型,将表达式转换为 type-id 的类型。

语法

static_cast(expression)

备注

static_cast是静态强制转换,不执行 运行时类型检查

dynamic_cast动态强制转换,会执行检查,dynamic_cast仅适用于指针或引用。

类型2

// warning: use of old-style cast
QImage *img1 = (QImage*)img;
// 直接new
QImage *img2 = new QImage;

QT开发问题总结

构建与运行

virtual struct QMetaObject const

*error LNK2001:解析的外部符号 “public:virtual struct QMetaObject const __thiscall Xxxx::metaObject(void)const”(?metaObject@xxx……)

  1. 检查pro中文件类型是否正确。
  2. 项目内有同名文件、类、函数。

模块计算机类型“X86”与目标计算机类型“x64”冲突

error: LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突

方法一:工具->选项->构建与运行->构建套件->选择使用的构建套件,下方C、C++调整位“amd64_x86”(32位)

方法二:删除Qt工程文件,重新用Qt打开项目pro文件选择32位。

No executable specified

删除项目根目录的ProtectName.pro.user

QNativeSocketEngine::hasPendingDatagrams() was called in QAbstractSocket::UnconnectedState

端口被占用

UI

Unknown property letter-spacing、font-stretch

QStyleSheet没有以上属性。

QFSFileEngine::open: No file name specified

未找到原因

QTableWidget::sortByColumn导致显示不全问题

原因是后续插入cell的数据如果符合排序的条件,会触发QTablewidget立即重新排序;
例:QTablewidget按第0列降序,插入第一行正常, 插入(1, 0) > (0, 0)时, tablewidget会将两行互换,交换之后第二行是原本第一行的数据,第一行是第二行的数据,此时第一行除了(0, 0)数据其他cell都为空继续插入(1, j)时,会覆盖掉重新插入数据。

解决方法:在插入数据前关闭排序,插入完启用排序

// 1. 控件设置
ui->tablewidget->setSortingEnabled(true);
ui->tablewidget->sortByColumn(0, Qt::DescendingOrder);

// 2. 插入数据前后关闭和开启
ui->tablewidget->setSortingEnabled(false);
for (int i = 0; i < vecTmpLog.size(); i++)
{
    tableShowList.clear();
    tableShowList << vecTmpLog[i].getStrId().toStdString().c_str() \
        << vecTmpLog[i].getStrTime().toStdString().c_str() \
        << vecTmpLog[i].getStrDeviceID().toStdString().c_str();

    ui->tablewidget->insertRowData(tableShowList, vecTmpLog[i].getStrId());
    ui->tablewidget->setItemToolTip(i, 0, vecTmpLog[i].getStrId());
}
ui->tablewidget->setSortingEnabled(true);

QPaintDevice::metrics: Device has no metric information

一般是手误把QTableWidget->columnCount()写成QTableWidget->colorCount(),不会报错,但会警告QPaintDevice::metrics: Device has no metric information

QSqlDatabase

2022-09-16 15:56:13:673 [Warning] QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
2022-09-16 15:56:13:674 [Warning] QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
2022-09-16 15:56:13:674 [Warning] QSqlDatabasePrivate::removeDatabase: connection 'connectionMsg' is still in use, all queries will cease to work.
2022-09-16 15:56:13:674 [Warning] QSqlDatabasePrivate::addDatabase: duplicate connection name 'connectionMsg', old connection removed.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt常用控件、警告与问题总结 的相关文章

  • 如何在 Qt Creator 中编辑 QtWebKit 的右键上下文菜单?

    好吧 这是我的困境 我正在使用 Qt Creator 制作一个使用 Webkit 的简单应用程序 我认为 Qt Creator 会有一种简单的方法来使用信号和槽编辑器编辑右键单击上下文菜单 但事实证明这不是真的 我知道 webkit 有与上
  • Qt qDebug() 在 Windows shell 中不起作用

    我正在使用一个qDebug Qt 框架的printf屏幕上有东西 当我从 Qt Creator 运行应用程序时它工作得很好 但是当我尝试从 Windows 执行它时cmd它什么也没显示 为什么会发生这种情况 你必须添加 CONFIG con
  • QStyledItemDelegate 绘制自定义小部件失败

    在我的一个项目中 我使用的是QTableWidget为了显示一些复杂的计算结果 为了提高表格的可读性 我需要在单个表格单元格内显示两个对齐的值 后来我想通过使用颜色或箭头等来进一步自定义小部件 为此我源自QStyledItemDelegat
  • 清除pyqt中布局中的所有小部件

    有没有办法清除 删除 布局中的所有小部件 self plot layout QtGui QGridLayout self plot layout setGeometry QtCore QRect 200 200 200 200 self r
  • 将 jstring 转换为 QString

    我正在调用一个返回字符串的 Java 函数 QAndroidJniObject obj QAndroidJniObject callStaticObjectMethod
  • Mac OS X 上的 Qt 字体系列和样式

    我有一个基于 Qt PyQt 的 GUI 应用程序 在 Mac OS X 和其他平台 上运行 它允许用户选择字体并具有粗体和斜体选项的复选框 在更新到新的基于 Cocoa 的 Qt 时 用户发现QFontComboBox不再显示不同的字体样
  • Qt中用于线程间通信的类设计

    问题陈述 用相机跟踪物体并相应地移动相机的方位角和仰角 Process 相机获取物体的图像 处理相机的每一帧以查找物体 应该被跟踪 并将每帧中生成的信息传递给机械设备 万向节 以平移和倾斜方式移动摄像机 Design 主 Gui 在一个线程
  • 覆盖 QWebView 中的页面回复

    我试图在 Qt 的 QWebView 中拦截页面 表单请求 并在某些情况下使用替代内容进行响应 QNetworkReply ngcBrowser createRequest Operation operation const QNetwor
  • 无法运行 Qt 应用程序:找不到版本“Qt_5”

    我运行 Ubuntu 16 04 LTS 我的问题是我无法运行可以编译的 Qt5 应用程序 这是我尝试运行它时得到的结果 home user Desktop sconfig dist Release GNU Linux SCongif us
  • Qt QML 数据模型似乎不适用于 C++

    我一直在使用中的示例http doc qt digia com 4 7 qdeclarativemodels html http doc qt digia com 4 7 qdeclarativemodels html这是 QML 声明性数
  • QTabWidget 选项卡在垂直方向,但文本在水平方向

    我正在尝试用 C Qt 制作一个带有这样的侧边栏的应用程序 但是当将 QTabWidget 方向设置为西时 它会使文本垂直 如何让文本位于左侧 但水平对齐 PS 我不需要图标 提前致谢 您可以使用QListWidget http doc q
  • Q风格所有权

    在 Qt 应用程序中使用样式时 我遇到了一个有趣的问题QStyle所有权 QStyle继承自QObject 通常接受QObject parent作为构造函数参数来管理其子级的生命周期 但QStyle的构造函数没有此构造函数参数 第一个问题
  • 在 Qt 中自动调整标签文本大小 - 奇怪的行为

    在 Qt 中 我有一个复合小部件 它由排列在 QBoxLayouts 内的多个 QLabels 组成 当小部件调整大小时 我希望标签文本缩放以填充标签区域 并且我已经在 resizeEvent 中实现了文本大小的调整 这可行 但似乎发生了某
  • 如何向 PyQt5 GUI 添加线程?

    所以我使用 QT Designer 创建了一个 GUI 它工作得很好 但在更复杂的调用中 它不会更新主窗口并锁定 我想运行我的CustomComplexFunction 在根据不断变化的后端信息更新主窗口中的文本编辑时 我希望它每 2 秒运
  • QObject 通用信号处理程序

    信号处理程序 是指插槽 而不是 POSIX 信号的处理程序 我需要 连接 可能不会 using QObject connect直接地 所有信号从 QObject 的 未知 子类的实例到一个单槽另一个 QObject 的 我需要这个才能通过网
  • Qt:更改 Mac OS X 上的应用程序 QMenuBar 内容

    我的应用程序对多个 页面 使用 QTabWidget 其中顶级菜单根据用户所在的页面而变化 我的问题是 尝试重新创建菜单栏的内容会导致严重的显示问题 它在除 Mac OS X 之外的所有平台上按预期使用第一种和第三种样式 尚未测试第二种 但
  • CMake AUTOMOC,文件位于不同文件夹中

    我有一个简单的 CMake 项目 proj project folder a h a cpp CMakeLists txt CMakeLists txt cmake minimum required VERSION 3 2 set CMAK
  • Qt - 如何使用 QNetworkAccessmanager 获取响应文本

    这是我的代码 Widget Widget manager new QNetworkAccessManager this connect manager SIGNAL finished QNetworkReply this SLOT repl
  • 如何为 Windows 安装开源 Qt 库 5 二进制版本

    这个问题具体是关于Qt libraries 5 0 0 for Windows VS 2010 406 MB at http qt project org downloads http qt project org downloads 但我
  • qdbusxml2cpp 未知类型

    在使用 qdbusxml2cpp 程序将以下 xml 转换为 Qt 类时 我收到此错误 qdbusxml2cpp c ObjectManager a ObjectManager ObjectManager cpp xml object ma

随机推荐

  • Python爬虫 如何利用浏览器获取JSON数据,如获取淘宝天猫的评论链接?

    浏览器 Chrome 工具 右键 检查 N 步骤 1 打开淘宝 天猫 2 右键 检查 3 随便点击一个商品进入购买界面 4 点击监控工具 Network Json 5 点击 商品评论 6 下拉到评论翻页处 7 点击 监控工具Clear功能
  • 微信小程序登录获取不到头像和昵称解决办法!

    微信小程序登录获取不到头像和昵称主要原因是 小程序wx getUserProfile接口被收回 大家可以按照文档操作 PS 针对小程序wx getUserProfile接口将被收回后做出的授权调整 小程序文档中提出的调整说明 对于此次变化
  • Tree-String Problem 【CodeForces - 291E】【倍增(LCA)+哈希】

    题目链接 题意 给你N个点的树 树上的边的权值是一个自上往下的字符串 然后我们再给出一个字符串 是模式串 我们现在想知道模式串在树上的出现次数 譬如说样例 我们查找的是aba 它在1 4这条链上出现了2次 在1 5上出现1次 在2 3上出现
  • [Linux]rsync显示进度

    rsync a progress info progress2
  • PCL RANSAC拟合分割多条直线

    目录 一 概述 二 代码实现 三 结果展示 1 原始点云 2 拟合结果 3 分割结果 四 相关链接 一 概述 使用RANSAC算法拟合分割多条直线 输出每一条直线的拟合参数到控制台 并保存直线点云到本地文件夹 二 代码实现 include
  • 简单的局域网实现文件共享

    局域网 网络种类 覆盖范围一般是方圆几千米之内 其具备的安装便捷 成本节约 扩展方便等特点使其在各类办公室内运用广泛 局域网可以实现文件管理 应用软件共享 打印机共享等功能 在使用过程当中 通过维护局域网网络安全 能够有效地保护资料安全 保
  • 行为驱动测试_我如何知道自己是否正在测试行为?

    行为驱动测试 在整个 测试气味 目录中 有迹象表明您可能正在测试您的代码 而不是其行为 即使在最不起眼的单元测试中 首要规则也应该是 使您的代码执行其工作 并查看结果如何 编写代码及其测试的开发人员在为代码的每一行和每个分支进行测试时 常常
  • 2023第十四届蓝桥杯国赛 C/C++ 大学 B 组 (赛后记录)

    2023 第十四届蓝桥杯国赛 C C 大学 B
  • DDR CTRL介绍

    译文 DDR4 Initialization Training and Calibration
  • 正则表达式(一)——基础之匹配字符,数量,边界

    1 概念 1 1 正则表达式概念 正则表达式 又称正规表达式 规则表达式 正规表示法等 英语 Regular Expression 在代码中常简写为regex regexp或RE 计算机科学的一个概念 正则表达式使用单个字符串来描述 匹配一
  • 图形学光照

    图形学光照 一 概述 二 环境光照 三 漫反射光照 四 镜面光照 五 光照公式 六 Demo 一 概述 现实世界的光照是极其复杂的 而且会受到诸多因素的影响 这是我们有限的计算能力所无法模拟的 因此OpenGL的光照使用的是简化的模型 对现
  • MES系统 PHP常见技术

    1 刚开始接触Web需要练习以下知识 编辑表格 修改 删查 https www cnblogs com yuyu1993 p 5598797 html 流程审批 https www cnblogs com ping04 p 7927468
  • 【程序员面试金典】请编写一个方法,返回某集合的所有非空子集。

    题目描述 请编写一个方法 返回某集合的所有非空子集 给定一个int数组A和数组的大小int n 请返回A的所有非空子集 保证A的元素个数小于等于20 且元素互异 各子集内部从大到小排序 子集之间字典逆序排序 见样例 测试样例 123 456
  • 以太坊eip150和eip158

    以太坊网络将在区块号到达2463000时进行一次硬分叉 具体分叉时间将会在中国时间2016年10月18日晚8 9点 可以在 https fork codetract io 看到本次分叉的倒计时网页 作为一个用户 我需要做些什么 下载最新版本
  • 在visio中插入数学公式

    前提 安装 visio 2013 Mathtype 依次点击 插入 对象 弹出对话框 插入对象 在弹出的对话框内点击 Microsoft 公式 3 0 点击 确定 弹出 Mathtype 编辑界面 即可插入公式
  • C#基础知识

    主要用于只是巩固和新接触的人使用 一 什么是C C 是有C C 衍生出来的一种面向对象编程语言 是一种安全的 稳定的 简单的 优雅的一种语言 他是运行于 Net Franmework智商的高级程序设计语言 二 C 第一个程序 Hellow
  • Java复习:IO流

    File类的使用 IO流原理及流的分类 1 I O是Input Output的缩写 I O技术是非常实用的技术 用于 处理设备之间的数据传输 如读 写文件 网络通讯等 2 Java程序中 对于数据的输入 输出操作以 流 stream 的 方
  • FastDFS,Redis,Solr,ActiveMQ核心技术整合四

    02 商品分类选择 分析 前端js 03 商品分类选择 分析 数据库 JJTree渲染过程解析 parent id为0就是父节点 is parent为1说明下面有子节点 state1正常2删除 tree组件有ztree 异步控件树每个节点都
  • sklearn - 岭回归(Ridge)和套索回归(Lasso)

    一 拟合 一 过拟合与欠拟合 机器学习中一个重要的话题便是模型的泛化能力 泛化能力强的模型才是好模型 对于训练好的模型 若在训练集表现差 不必说在测试集表现同样会很差 这可能是欠拟合导致 若模型在训练集表现非常好 却在测试集上差强人意 则这
  • Qt常用控件、警告与问题总结

    Qt Creator 转 Visual Studio Qt Creator转Visual Studio 在pro文件所在文件夹 打开cmd qmake tp vc x Visual Studio转Qt Creator Qt VS Tools