<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.linsakura.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.linsakura.com/feed.php">
        <title>知识库 wiki:dev:qt:note</title>
        <description></description>
        <link>https://wiki.linsakura.com/</link>
        <image rdf:resource="https://wiki.linsakura.com/lib/tpl/haku/images/favicon.ico" />
       <dc:date>2026-04-25T04:29:42+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:connect_overload&amp;rev=1715333667&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:eventfilter&amp;rev=1647589018&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:index&amp;rev=1647589353&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:makeinfo&amp;rev=1736501228&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:qdialogcolor%E4%BD%BF%E7%94%A8&amp;rev=1651323055&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:qlineedit%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E4%BD%BF%E7%94%A8&amp;rev=1651322767&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:qss_dynamic_property&amp;rev=1715570391&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:qt%E6%B5%8B%E8%AF%95%E5%87%BD%E6%95%B0%E6%89%A7%E8%A1%8C%E6%97%B6%E9%97%B4&amp;rev=1647589341&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:%E8%AE%A1%E7%AE%97%E4%B8%A4%E4%B8%AA%E6%97%B6%E9%97%B4%E7%9B%B8%E5%B7%AE%E7%9A%84%E5%87%BD%E6%95%B0&amp;rev=1647588815&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.linsakura.com/lib/tpl/haku/images/favicon.ico">
        <title>知识库</title>
        <link>https://wiki.linsakura.com/</link>
        <url>https://wiki.linsakura.com/lib/tpl/haku/images/favicon.ico</url>
    </image>
    <item rdf:about="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:connect_overload&amp;rev=1715333667&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-10T17:34:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:dev:qt:note:connect_overload</title>
        <link>https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:connect_overload&amp;rev=1715333667&amp;do=diff</link>
        <description>重载信号信号槽连接

例如QButtonGroup有两个同名不同参数的信号，用指针方式关联信号槽会有问题：



Q_SIGNALS:
    void buttonClicked(QAbstractButton *);
    void buttonClicked(int);


可用继续用旧的SIGNAL()和</description>
    </item>
    <item rdf:about="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:eventfilter&amp;rev=1647589018&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-18T15:36:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:dev:qt:note:eventfilter</title>
        <link>https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:eventfilter&amp;rev=1647589018&amp;do=diff</link>
        <description>Qt eventFilter 事件过滤器使用方法


#include &quot;mainwindow.h&quot;
#include &quot;ui_mainwindow.h&quot;
#include &lt;QDebug&gt;
#include &lt;QDragEnterEvent&gt;
#include &lt;QMimeData&gt;

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui-&gt;setupUi(this);

    //ui-&gt;textBrowser-&gt;setAcceptDrops(true);
    ui-&gt;textBrowser-&gt;installEventFilter(this);

    //this-&gt;setAcceptDrops(true);
}

MainWindow::~MainWindow()
{
    delete ui;
}

bool MainWindow::eventFilter(QObject *obj, QEvent *event)
…</description>
    </item>
    <item rdf:about="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:index&amp;rev=1647589353&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-18T15:42:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:dev:qt:note:index</title>
        <link>https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:index&amp;rev=1647589353&amp;do=diff</link>
        <description>Qt 笔记索引

eventfilter 事件过滤器使用方法

计算两个时间相差的函数

Qt测试函数执行时间</description>
    </item>
    <item rdf:about="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:makeinfo&amp;rev=1736501228&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-10T17:27:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:dev:qt:note:makeinfo</title>
        <link>https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:makeinfo&amp;rev=1736501228&amp;do=diff</link>
        <description>编译时输出代码中的特定字符

首先创建一个sh脚本，例如保存到*.pro同目录，命名为makeinfo.sh



#!/bin/bash
svn=$(grep &quot;#define SVN_VER&quot; ./Public.h | egrep -o '\&quot;.*\&quot;')
echo &quot;请确认SVN版本【$svn】是否正确&quot;


然后在项目</description>
    </item>
    <item rdf:about="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:qdialogcolor%E4%BD%BF%E7%94%A8&amp;rev=1651323055&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-30T20:50:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:dev:qt:note:qdialogcolor使用</title>
        <link>https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:qdialogcolor%E4%BD%BF%E7%94%A8&amp;rev=1651323055&amp;do=diff</link>
        <description>QDialogColor使用


QColorDialog dialog(this);
//这里使用this-&gt;goemetry().y()是因为如果使用this-&gt;y()将是不包含标题栏的y坐标，会导致setGeometry后，有可能标题栏超出屏幕外
dialog.setGeometry(this-&gt;geometry().x(), this-&gt;geometry().y(), dialog.width(), dialog.height());
dialog.setWindowTitle(tr(&quot;请设置字体颜色&quot;));
dialog.setCurrentColor(QColor(0, 0, 0));   //设置打开后的默认颜色
if(dialog.exec() == QColorDialog::Accepted)
{
    QColor getColor = dialog.selectedColor();  //获取到的颜色
}…</description>
    </item>
    <item rdf:about="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:qlineedit%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E4%BD%BF%E7%94%A8&amp;rev=1651322767&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-30T20:46:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:dev:qt:note:qlineedit正则表达式使用</title>
        <link>https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:qlineedit%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E4%BD%BF%E7%94%A8&amp;rev=1651322767&amp;do=diff</link>
        <description>QLineEdit正则表达式使用


//绑定
QRegExpValidator *validator = new QRegExpValidator(QRegExp(&quot;[1-9]|[1-5][0-9]|60&quot;), this);   //1~60
ui-&gt;lineEdit-&gt;setValidator(validator);
//验证
ui-&gt;lineEditNoticeKeepTime-&gt;hasAcceptableInput();  //true-表示完全匹配，false-表示部分匹配或不匹配</description>
    </item>
    <item rdf:about="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:qss_dynamic_property&amp;rev=1715570391&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-13T11:19:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:dev:qt:note:qss_dynamic_property</title>
        <link>https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:qss_dynamic_property&amp;rev=1715570391&amp;do=diff</link>
        <description>Qt QSS 动态属性

此条目的demo代码：[ QssDynamicProperty.zip]



有时候在代码中，需要根据某些情况下动态调整样式，但是有时候系统给出的属性如checked、unchecked已经不足以我们使用时，这个时候就可以用到动态属性的方式去实现我们要的效果。</description>
    </item>
    <item rdf:about="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:qt%E6%B5%8B%E8%AF%95%E5%87%BD%E6%95%B0%E6%89%A7%E8%A1%8C%E6%97%B6%E9%97%B4&amp;rev=1647589341&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-18T15:42:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:dev:qt:note:qt测试函数执行时间</title>
        <link>https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:qt%E6%B5%8B%E8%AF%95%E5%87%BD%E6%95%B0%E6%89%A7%E8%A1%8C%E6%97%B6%E9%97%B4&amp;rev=1647589341&amp;do=diff</link>
        <description>Qt测试函数执行时间

利用gettimeofday()，其精度为us级


#include &lt;QDebug&gt;
#include &lt;sys/time.h&gt;

struct timeval tStart;
struct timeval tEnd;
float timeUse;
  
gettimeofday(&amp;tStart, NULL);
function();
gettimeofday(&amp;tEnd, NULL);

timeUse = (1000000*(tEnd.tv_sec - tStart.tv_sec) + tEnd.tv_usec - tStart.tv_usec)/1000000.0;
  
qDebug() &lt;&lt; timeUse &lt;&lt; &quot;s&quot;;</description>
    </item>
    <item rdf:about="https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:%E8%AE%A1%E7%AE%97%E4%B8%A4%E4%B8%AA%E6%97%B6%E9%97%B4%E7%9B%B8%E5%B7%AE%E7%9A%84%E5%87%BD%E6%95%B0&amp;rev=1647588815&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-18T15:33:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:dev:qt:note:计算两个时间相差的函数</title>
        <link>https://wiki.linsakura.com/doku.php?id=wiki:dev:qt:note:%E8%AE%A1%E7%AE%97%E4%B8%A4%E4%B8%AA%E6%97%B6%E9%97%B4%E7%9B%B8%E5%B7%AE%E7%9A%84%E5%87%BD%E6%95%B0&amp;rev=1647588815&amp;do=diff</link>
        <description>Qt 计算两个时间相差的函数


int time = mLastClickTime.msecsTo(QTime::currentTime());
if(time &lt;= 400)
{   //如果在400ms内的点击，认为是双击
    todo();
}
mLastClickTime = QTime::currentTime();</description>
    </item>
</rdf:RDF>
