<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>GUI - 分类 - 招财猫的部落格</title>
        <link>https://blog.besty.day/categories/gui/</link>
        <description>GUI - 分类 - 招财猫的部落格</description>
        <generator>Hugo -- gohugo.io</generator><language>zh-CN</language><lastBuildDate>Fri, 30 Oct 2015 12:40:00 &#43;0000</lastBuildDate><atom:link href="https://blog.besty.day/categories/gui/" rel="self" type="application/rss+xml" /><item>
    <title>PyQt编程第8章 数据处理和自定义文件类型</title>
    <link>https://blog.besty.day/posts/2015/10/pyqt-8/</link>
    <pubDate>Fri, 30 Oct 2015 12:40:00 &#43;0000</pubDate>
    <author>招财猫</author>
    <guid>https://blog.besty.day/posts/2015/10/pyqt-8/</guid>
    <description><![CDATA[<h1 id="主窗口的职责">主窗口的职责</h1>
<p>主窗口的职责通常是为用户提供高级文件处理动作和展示程序数据。</p>]]></description>
</item>
<item>
    <title>PyQt编程第7章 使用Qt Designer</title>
    <link>https://blog.besty.day/posts/2015/10/pyqt-7/</link>
    <pubDate>Wed, 28 Oct 2015 08:50:57 &#43;0000</pubDate>
    <author>招财猫</author>
    <guid>https://blog.besty.day/posts/2015/10/pyqt-7/</guid>
    <description><![CDATA[<p>用户界面保存在.ui文件中，包含一个窗口部件和布局的详细情况。<strong>Qt Designer</strong>能够关联标签和它的伙伴，
设置tab顺序(这个也可以用<code>QWidget.setTabOrder()</code>完成)。<strong>Qt Designer</strong>也能够关联信号和槽，
但是只能是内置的信号和槽。</p>]]></description>
</item>
<item>
    <title>PyQt编程第6章 主窗口</title>
    <link>https://blog.besty.day/posts/2015/10/pyqt-6/</link>
    <pubDate>Wed, 21 Oct 2015 11:25:57 &#43;0000</pubDate>
    <author>招财猫</author>
    <guid>https://blog.besty.day/posts/2015/10/pyqt-6/</guid>
    <description><![CDATA[<h1 id="创建一个主窗口">创建一个主窗口</h1>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-python">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">os</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">platform</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">sys</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">PyQt4.QtCore</span> <span class="kn">import</span> <span class="o">*</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">PyQt4.QtGui</span> <span class="kn">import</span> <span class="o">*</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">helpform</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">newimagedlg</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">qrc_resources</span>
</span></span><span class="line"><span class="cl"><span class="n">__version__</span> <span class="o">=</span> <span class="s2">&#34;1.0.0&#34;</span></span></span></code></pre></div></div>

<p><code>import</code>的顺序：先Python标准模块，然后第三方模块(比如PyQt)，最后自己定义的模块。
一个程序通常有一个版本字符串，按照惯例称为<code>__version__</code>。</p>]]></description>
</item>
<item>
    <title>PyQt编程第5章 对话框</title>
    <link>https://blog.besty.day/posts/2015/10/pyqt-5/</link>
    <pubDate>Wed, 14 Oct 2015 16:20:56 &#43;0000</pubDate>
    <author>招财猫</author>
    <guid>https://blog.besty.day/posts/2015/10/pyqt-5/</guid>
    <description><![CDATA[<p>对话框以“智力”分类为：哑巴，标准和聪明，取决于对话框知道程序数据的多少。
对话框以“模式”分类为：模式对话框和无模式对话框。</p>
<p>应用模式对话框一旦被调用，用户只能与其交互，不能使用程序其它部分。
窗口模式对话框和应用模式对话框类似，只是它仅仅阻止与其父窗口交互。
无模式对话框允许用户与程序其它部分交互。</p>]]></description>
</item>
<item>
    <title>PyQt编程第4章 GUI编程介绍</title>
    <link>https://blog.besty.day/posts/2015/10/pyqt-4/</link>
    <pubDate>Mon, 12 Oct 2015 20:34:55 &#43;0000</pubDate>
    <author>招财猫</author>
    <guid>https://blog.besty.day/posts/2015/10/pyqt-4/</guid>
    <description><![CDATA[<h1 id="一个25行的弹出警告">一个25行的弹出警告</h1>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-python">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">sys</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">time</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">PyQt4.QtCore</span> <span class="kn">import</span> <span class="o">*</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">PyQt4.QtGui</span> <span class="kn">import</span> <span class="o">*</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">app</span> <span class="o">=</span> <span class="n">QApplication</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">try</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">due</span> <span class="o">=</span> <span class="n">QTime</span><span class="o">.</span><span class="n">currentTime</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">    <span class="n">message</span> <span class="o">=</span> <span class="s2">&#34;Alert!&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">2</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="k">raise</span> <span class="ne">ValueError</span>
</span></span><span class="line"><span class="cl">    <span class="n">hours</span><span class="p">,</span> <span class="n">mins</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&#34;:&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">due</span> <span class="o">=</span> <span class="n">QTime</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">hours</span><span class="p">),</span> <span class="nb">int</span><span class="p">(</span><span class="n">mins</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="ow">not</span> <span class="n">due</span><span class="o">.</span><span class="n">isValid</span><span class="p">():</span>
</span></span><span class="line"><span class="cl">        <span class="k">raise</span> <span class="ne">ValueError</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">2</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="n">message</span> <span class="o">=</span> <span class="s2">&#34; &#34;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">:])</span>
</span></span><span class="line"><span class="cl"><span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">message</span> <span class="o">=</span> <span class="s2">&#34;Usage: alert.pyw HH:MM [optional message]&#34;</span> <span class="c1"># 24hr clock</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">while</span> <span class="n">QTime</span><span class="o">.</span><span class="n">currentTime</span><span class="p">()</span> <span class="o">&lt;</span> <span class="n">due</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">20</span><span class="p">)</span> <span class="c1"># 20 seconds</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">label</span> <span class="o">=</span> <span class="n">QLabel</span><span class="p">(</span><span class="s2">&#34;&lt;font color=red size=72&gt;&lt;b&gt;&#34;</span> <span class="o">+</span> <span class="n">message</span> <span class="o">+</span> <span class="s2">&#34;&lt;/b&gt;&lt;/font&gt;&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">label</span><span class="o">.</span><span class="n">setWindowFlags</span><span class="p">(</span><span class="n">Qt</span><span class="o">.</span><span class="n">SplashScreen</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">label</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="n">QTimer</span><span class="o">.</span><span class="n">singleShot</span><span class="p">(</span><span class="mi">60000</span><span class="p">,</span> <span class="n">app</span><span class="o">.</span><span class="n">quit</span><span class="p">)</span> <span class="c1"># 1 minute</span>
</span></span><span class="line"><span class="cl"><span class="n">app</span><span class="o">.</span><span class="n">exec_</span><span class="p">()</span></span></span></code></pre></div></div>

<p>每一个PyQt图形程序必须有一个<code>QApplication</code>对象，因为它能识别一些命令行的参数，接受<code>sys.argv</code>作为
参数。</p>]]></description>
</item>
</channel>
</rss>
