• 5779阅读
  • 0回复

[提问]求助如何实现qlineedit的selectstart()函数 [复制链接]

上一主题 下一主题
离线zerokkqq
 
只看楼主 倒序阅读 楼主  发表于: 2011-02-22
求助如何实现qlineedit的selectstart()函数

我的编译版本是qt3.1.1 偏偏这个版本没有qlineedit这个函数

lineedit能用只有这些
#ifndef QLINEEDIT_H
#define QLINEEDIT_H
struct QLineEditPrivate;
class QValidator;
class QPopupMenu;
#ifndef QT_H
#include "qframe.h"
#include "qstring.h"
#endif // QT_H
#ifndef QT_NO_LINEEDIT
class QTextParagraph;
class QTextCursor;
class Q_EXPORT QLineEdit : public QFrame
{
    Q_OBJECT
    Q_ENUMS( EchoMode )
    Q_PROPERTY( QString text READ text WRITE setText )
    Q_PROPERTY( int maxLength READ maxLength WRITE setMaxLength )
    Q_PROPERTY( bool frame READ frame WRITE setFrame )
    Q_PROPERTY( EchoMode echoMode READ echoMode WRITE setEchoMode )
    Q_PROPERTY( QString displayText READ displayText )
    Q_PROPERTY( int cursorPosition READ cursorPosition WRITE setCursorPosition )
    Q_PROPERTY( Alignment alignment READ alignment WRITE setAlignment )
    Q_PROPERTY( bool edited READ edited WRITE setEdited )
    Q_PROPERTY( bool hasMarkedText READ hasMarkedText DESIGNABLE false )
    Q_PROPERTY( bool hasSelectedText READ hasSelectedText )
    Q_PROPERTY( QString markedText READ markedText DESIGNABLE false )
    Q_PROPERTY( QString selectedText READ selectedText )
    Q_PROPERTY( bool dragEnabled READ dragEnabled WRITE setDragEnabled )
    Q_PROPERTY( bool readOnly READ isReadOnly WRITE setReadOnly )
    Q_PROPERTY( bool undoAvailable READ isUndoAvailable )
    Q_PROPERTY( bool redoAvailable READ isRedoAvailable )
public:
    QLineEdit( QWidget* parent, const char* name=0 );
    QLineEdit( const QString &, QWidget* parent, const char* name=0 );
    ~QLineEdit();
    QString text() const;
    QString displayText() const;
    int maxLength() const;
    bool frame() const;
    enum EchoMode { Normal, NoEcho, Password };
    EchoMode echoMode() const;
    bool isReadOnly() const;
    const QValidator * validator() const;
    QSize sizeHint() const;
    QSize minimumSizeHint() const;
    int cursorPosition() const;
    bool validateAndSet( const QString &, int, int, int );
    int alignment() const;
#ifndef QT_NO_COMPAT
    void cursorLeft( bool mark, int steps = 1 ) { cursorForward( mark, -steps ); }
    void cursorRight( bool mark, int steps = 1 ) { cursorForward( mark, steps ); }
#endif
    void cursorForward( bool mark, int steps = 1 );
    void cursorBackward( bool mark, int steps = 1 );
    void cursorWordForward( bool mark );
    void cursorWordBackward( bool mark );
    void backspace();
    void del();
    void home( bool mark );
    void end( bool mark );
    void setEdited( bool );
    bool edited() const;
    bool hasSelectedText() const;
    QString selectedText() const;
    bool getSelection( int *start, int *end );
    bool isUndoAvailable() const;
    bool isRedoAvailable() const;

#ifndef QT_NO_COMPAT
    bool hasMarkedText() const { return hasSelectedText(); }
    QString markedText() const { return selectedText(); }
#endif
    void  setPasswordChar( QChar c );
    QChar  passwordChar() const;
    bool dragEnabled() const;
    int characterAt( int xpos, QChar *chr ) const;
public slots:
    virtual void setText( const QString &);
    virtual void selectAll();
    virtual void deselect();
    virtual void clearValidator();
    virtual void insert( const QString &);
    virtual void clear();
    virtual void undo();
    virtual void redo();
    virtual void setMaxLength( int );
    virtual void setFrame( bool );
    virtual void setEchoMode( EchoMode );
    virtual void setReadOnly( bool );
    virtual void setValidator( const QValidator * );
    virtual void setFont( const QFont & );
    virtual void setPalette( const QPalette & );
    virtual void setSelection( int, int );
    virtual void setCursorPosition( int );
    virtual void setAlignment( int flag );
#ifndef QT_NO_CLIPBOARD
    virtual void cut();
    virtual void copy() const;
    virtual void paste();
#endif
    virtual void setDragEnabled( bool b );
signals:
    void textChanged( const QString &);
    void returnPressed();
    void lostFocus();
    void selectionChanged();
protected:
    bool event( QEvent * );
    void mousePressEvent( QMouseEvent * );
    void mouseMoveEvent( QMouseEvent * );
    void mouseReleaseEvent( QMouseEvent * );
    void mouseDoubleClickEvent( QMouseEvent * );
    void keyPressEvent( QKeyEvent * );
    void imStartEvent( QIMEvent * );
    void imComposeEvent( QIMEvent * );
    void imEndEvent( QIMEvent * );
    void focusInEvent( QFocusEvent * );
    void focusOutEvent( QFocusEvent * );
    void drawContents( QPainter *painter );
    void resizeEvent( QResizeEvent * );
#ifndef QT_NO_DRAGANDDROP
    void dragEnterEvent( QDragEnterEvent * );
    void dragMoveEvent( QDragMoveEvent *e );
    void dragLeaveEvent( QDragLeaveEvent *e );
    void dropEvent( QDropEvent * );
#endif
    void contextMenuEvent( QContextMenuEvent * );
#ifndef QT_NO_COMPAT
    void repaintArea( int, int ) { update(); }
#endif
    virtual QPopupMenu *createPopupMenu();
    void windowActivationChange( bool );
private slots:
    void clipboardChanged();
    void blinkSlot();
#ifndef QT_NO_DRAGANDDROP
    void doDrag();
#endif
    void dragSlot();
    void popupActivated( int r );
private:
    void init();
    void blinkOn();
    void updateOffset();
    void updateOffset( QTextParagraph *p, QTextCursor *c );
    void updateSelection();
    void removeSelectedText();
    void delOrBackspace( bool backspace );
    QLineEditPrivate * d;
private: // Disabled copy constructor and operator=
#if defined(Q_DISABLE_COPY)
    QLineEdit( const QLineEdit & );
    QLineEdit &operator=( const QLineEdit & );
#endif
};
[ 此帖被zerokkqq在2011-02-22 11:00重新编辑 ]
快速回复
限100 字节
 
上一个 下一个