index.lxp@lxpwrap=x5451_252ehtm.htm

来自「GUI Programming with Python」· HTM 代码 · 共 267 行

HTM
267
字号
    <table border="0" cellspacing="0" cellpadding="3" width="100%"><tr><td>    <div align="center" id="bldcontent">      <a href="../default.htm"><img src="../images/opendocs.png" width="63" height="76" border="0"></a>      <br>      <div class="symbol">Your OpenSource Publisher&#153;</div>    </div>      </td></tr></table>    <div align="center" class="author">      	<a href="../products.lxp">Products</a>	&nbsp;|&nbsp;	<a href="../wheretobuy.lxp">Where to buy</a>	&nbsp;|&nbsp;	<a href="../bookstore.lxp">Retailers</a>	&nbsp;|&nbsp;	<a href="../faq.lxp">FAQ</a>	&nbsp;|&nbsp;        <a href="../writeforus.lxp">Write for Us.</a>        &nbsp;|&nbsp;        <a href="#contact">Contact Us.</a>  </div>    <table border="0" cellspacing="3" cellpadding="0" width="100%"><tr><td width="100%">      <div class="content">        <table border="0" cellspacing="2" cellpadding="0" width="100%"><tr><td width="100%">          <div align="center"><H4 CLASS="AUTHOR"><A NAME="AEN5">Boudewijn Rempt</A><br><a href="../../https@secure.linuxports.com/opendocs/default.htm"><img src=odpyqt125.png></a><br>ISBN: 0-97003300-4-4<br><a href="../../https@secure.linuxports.com/opendocs/default.htm">Available from bookstores everywhere or you can order it here.</a><p>You can download the source files for the book <a href="pyqtsrc.tgz">(code / eps) here.</a><hr></div>                    <HTML><HEAD><TITLE>Document</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.72"><LINKREL="HOME"TITLE="GUI Programming with Python: QT Edition"HREF="book1.htm"><LINKREL="UP"TITLE="A More Complex Framework: Multiple Documents, Multiple    Views"HREF="c5288.htm"><LINKREL="PREVIOUS"TITLE="The Document Manager"HREF="x5388.htm"><LINKREL="NEXT"TITLE="View"HREF="x5458.htm"></HEAD><BODYCLASS="SECT1"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="NAVHEADER"><TABLESUMMARY="Header navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">GUI Programming with Python: QT Edition</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><A accesskey="P" href="index.lxp@lxpwrap=x5388_252ehtm.htm">Prev</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom">Chapter 15. A More Complex Framework: Multiple Documents, Multiple    Views</TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><A accesskey="N" href="index.lxp@lxpwrap=x5458_252ehtm.htm">Next</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="SECT1"><H1CLASS="SECT1">Document</A></H1><P>As with the simple document/view      framework, the document class should know as little as possible      about the actual arrangements. As you can see, little has      changed compared to the simple document-view application of      <A href="index.lxp@lxpwrap=c4631_252ehtm.htm">Chapter 12</A>.</P><DIVCLASS="EXAMPLE"></A><P><B>Example 15-3. The document class</B></P><PRECLASS="PROGRAMLISTING">"""mdidoc.py &#8212; document or application model.copyright: (C) 2001, Boudewijn Remptemail:     boud@rempt.xs4all.nl"""from qt import *from resources import TRUE, FALSEclass MDIDoc(QObject):    """    The document represents the application model. The current    document keeps a 'modified' state.    signals: sigDocModified (boolean)             sigDocTitleChanged (string)                 """    def __init__(self, *args):        apply(QObject.__init__, (self,)+args)        self.newDocument()        self._fileName=None        self._title="Untitled"    def setPathName(self, fileName):        self._fileName=fileName        self.setTitle(str(QFileInfo(fileName).fileName()))        def pathName(self):        return self._fileName    def setTitle(self, title):        self._title=title        self.emit(PYSIGNAL("SigDocTitleChanged"),                  (self._title,))    def title(self):        return self._title    def newDocument(self):        self.slotModify(FALSE)    def open(self, fileName, format=None):        self.slotModify(FALSE)        self.setPathName(fileName)    def slotModify(self, value=None):        if value==None:            self._modified=not self._modified        else:            self._modified = value        self.emit(PYSIGNAL("sigDocModified"),                  (self._modified,))    def modified(self):        return self._modified    def close(self):        pass    def save(self, fileName = None, format = None):        if fileName is not None and fileName &#60;&#62; "":            self.setPathName(fileName)        else:            if self.pathName() == None:                raise "Could not save document: no filename."        self.slotModify(FALSE)    </PRE></DIV></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLESUMMARY="Footer navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><A accesskey="P" href="index.lxp@lxpwrap=x5388_252ehtm.htm">Prev</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><A accesskey="H" href="index.lxp@lxpwrap=book1_252ehtm">Home</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><A accesskey="N" href="index.lxp@lxpwrap=x5458_252ehtm.htm">Next</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">The Document Manager</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><A accesskey="U" href="index.lxp@lxpwrap=c5288_252ehtm.htm">Up</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">View</TD></TR></TABLE></DIV></BODY></HTML>      </td>      </tr>      </table>      </td>    </tr>  </table>      

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?