The Q3TextBrowser 类提供具有超文本导航的富文本浏览器。 更多...
| 头: | #include <Q3TextBrowser> |
| 继承: | Q3TextEdit |
| Q3TextBrowser (QWidget * parent = 0, const char * name = 0) | |
| QString | source () const |
| virtual void | backward () |
| virtual void | forward () |
| virtual void | home () |
| virtual void | reload () |
| virtual void | setSource (const QString & name ) |
| virtual void | setText (const QString & txt , const QString & context ) |
| void | setText (const QString & txt ) |
| void | anchorClicked (const QString & name , const QString & link ) |
| void | backwardAvailable (bool available ) |
| void | forwardAvailable (bool available ) |
| void | highlighted (const QString & link ) |
| void | linkClicked (const QString & link ) |
| void | sourceChanged (const QString & src ) |
| virtual void | keyPressEvent (QKeyEvent * e ) |
The Q3TextBrowser 类提供具有超文本导航的富文本浏览器。
此类延伸
Q3TextEdit
(in read-only mode), adding some navigation functionality so that users can follow links in hypertext documents. The contents of
Q3TextEdit
is set with
setText
(),但
Q3TextBrowser
has an additional function,
setSource
(), which makes it possible to set the text to a named document. The name is looked up in the text view's mime source factory. If a document name ends with an anchor (for example, "
#anchor"
), the text browser automatically scrolls to that position (using
scrollToAnchor
()). When the user clicks on a hyperlink, the browser will call
setSource
() itself, with the link's
href
value as argument. You can track the current source by connetion to the
sourceChanged
() 信号。
Q3TextBrowser 提供 backward () 和 forward () slots which you can use to implement Back and Forward buttons. The home () slot sets the text to the very first document displayed. The linkClicked () signal is emitted when the user clicks a link.
By using Q3TextEdit::setMimeSourceFactory () you can provide your own subclass of Q3MimeSourceFactory . This makes it possible to access data from anywhere, for example from a network or from a database. See Q3MimeSourceFactory::data () 了解细节。
If you intend using the mime factory to read the data directly from the file system, you may have to specify the encoding for the file extension you are using. For example:
mimeSourceFactory()->setExtensionType("qml", "text/utf8");
This is to ensure that the factory is able to resolve the document names.
Q3TextBrowser interprets the tags it processes in accordance with the default style sheet. Change the style sheet with setStyleSheet (); see QStyleSheet 了解细节。
If you want to provide your users with editable rich text use Q3TextEdit . If you want a text browser without hypertext navigation use Q3TextEdit , and use Q3TextEdit::setReadOnly () to disable editing. If you just need to display a small piece of rich text use QSimpleRichText or QLabel .
This property holds the name of the displayed document.
This is a an empty string if no document is displayed or if the source is unknown.
Setting this property uses the mimeSourceFactory () to lookup the named document. It also checks for optional anchors and scrolls the document accordingly.
If the first tag in the document is
<qt type=detail>
, the document is displayed as a popup rather than as new document in the browser window itself. Otherwise, the document is displayed normally in the text browser with the text set to the contents of the named document with
setText
().
If you are using the filesystem access capabilities of the mime source factory, you must ensure that the factory knows about the encoding of specified files; otherwise no data will be available. The default factory handles a couple of common file extensions such as
*.html
and
*.txt
with reasonable defaults. See
Q3MimeSourceFactory::data
() 了解细节。
访问函数:
| QString | source () const |
| virtual void | setSource (const QString & name ) |
构造空的 Q3TextBrowser called name ,采用父级 parent .
[signal]
void
Q3TextBrowser::
anchorClicked
(const
QString
&
name
, const
QString
&
link
)
This signal is emitted when the user clicks an anchor. The
link
is the value of the
href
i.e. the name of the target document. The
name
is the name of the anchor.
另请参阅 linkClicked ().
[virtual slot]
void
Q3TextBrowser::
backward
()
Changes the document displayed to the previous document in the list of documents built by navigating links. Does nothing if there is no previous document.
另请参阅 forward () 和 backwardAvailable ().
[signal]
void
Q3TextBrowser::
backwardAvailable
(
bool
available
)
This signal is emitted when the availability of backward () changes. available is false when the user is at home (); otherwise it is true.
[virtual slot]
void
Q3TextBrowser::
forward
()
Changes the document displayed to the next document in the list of documents built by navigating links. Does nothing if there is no next document.
另请参阅 backward () 和 forwardAvailable ().
[signal]
void
Q3TextBrowser::
forwardAvailable
(
bool
available
)
This signal is emitted when the availability of forward () changes. available is true after the user navigates backward () and false when the user navigates or goes forward ().
[signal]
void
Q3TextBrowser::
highlighted
(const
QString
&
link
)
This signal is emitted when the user has selected but not activated a link in the document.
link
is the value of the
href
i.e. the name of the target document.
[virtual slot]
void
Q3TextBrowser::
home
()
Changes the document displayed to be the first document the browser displayed.
[virtual protected]
void
Q3TextBrowser::
keyPressEvent
(
QKeyEvent
*
e
)
重实现自 QWidget::keyPressEvent ().
The event e is used to provide the following keyboard shortcuts:
| 按键 | 动作 |
|---|---|
| Alt+Left Arrow | backward () |
| Alt+Right Arrow | forward () |
| Alt+Up Arrow | home () |
[signal]
void
Q3TextBrowser::
linkClicked
(const
QString
&
link
)
This signal is emitted when the user clicks a link. The
link
is the value of the
href
i.e. the name of the target document.
The link will be the absolute location of the document, based on the value of the anchor's href tag and the current context of the document.
另请参阅 anchorClicked ().
[virtual slot]
void
Q3TextBrowser::
reload
()
Reloads the current set source.
[virtual slot]
void
Q3TextBrowser::
setText
(const
QString
&
txt
, const
QString
&
context
)
重实现自 Q3TextEdit::setText ().
[slot]
void
Q3TextBrowser::
setText
(const
QString
&
txt
)
这是重载函数。
Sets the text to txt .
[signal]
void
Q3TextBrowser::
sourceChanged
(const
QString
&
src
)
This signal is emitted when the mime source has changed, src being the new source.
Source changes happen both programmatically when calling setSource (), forward (), backword() or home () or when the user clicks on links or presses the equivalent key sequences.