QT常用类整理_第1页
QT常用类整理_第2页
QT常用类整理_第3页
QT常用类整理_第4页
QT常用类整理_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

QT常用类整理QApplicationQWidget * QApplication:activeWindow () const返回拥有键盘输入焦点的应用程序顶级窗口,或者如果没有应用程序窗口拥有焦点,返回0。注意尽管可能没有focusWidget(),仍然有可能activeWindow(),例如如果在窗口中没有窗口部件接收键盘事件。void QApplication:addLibraryPath ( const QString & path ) 静态把path添加到库路径列表的末尾。如果path为空或者已经在路径列表中,路径列表不会被改变。默认路径列表包含一个单一的条目$QTDIR/plugins。void QApplication:closeAllWindows () 槽关闭所有顶级窗口。QDesktopWidget * QApplication:desktop () 静态返回桌面窗口部件(也调用根窗口)。桌面窗口部件对于获得屏幕大小很有用。在桌面上绘制也是可能的。我们建议不要假设可以在桌面上绘制,因为它不能在所有的操作系统上工作。int QApplication:exec ()进入主事件循环并且等待,直到exit()被调用或者主窗口部件被销毁,并且返回值被设置为exit()(如果通过quit(),exit()被调用,为0)。需要调用这个函数来开始事件处理。主事件循环从窗口系统中接收事件并且把它们分派给应用程序窗口部件。void QApplication:exit ( int retcode = 0 ) 静态告诉应用程序退出,伴随一个返回代码QFont QApplication:font ( const QWidget * w = 0 ) 静态返回窗口部件w的默认字体,或者如果w为0,返回默认应用程序字体。void QApplication:setColorSpec ( int spec ) 静态设置应用程序的颜色策略为spec。颜色策略控制着当在一个显示颜色总数有限制的情况下运行应用程序如何分配颜色,例如8位/256色显示void QApplication:setStyle ( QStyle * style ) 静态设置应用程序的图形用户界面风格为style。风格对象的所有权被移交给QApplication,所以当应用程序退出时或者当新的风格被设置时QApplication会删除这个风格对象QStyle * QApplication:setStyle ( const QString & style ) 静态这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。使用QStyleFactory来为style创建一个QStyle对象。这个字符串必须是QStyleFactory:keys()之一,通常是“windows”、“motif”、“cde”、“motifplus”、“platinum”、“sgi”和“compact”。根据平台,“windowsxp”、“aqua”或“macintosh”也是可以用的。如果一个未知的style被传递,返回0。QStyle & QApplication:style () 静态返回应用程序的风格对象。QWidgetQWidget类是所有用户界面对象的基类。窗口部件是用户界面的一个原子:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己的表现。每一个窗口部件都是矩形,并且它们按Z轴顺序排列的。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。QDialog是最普通的顶级窗口。不被嵌入到一个父窗口部件的窗口部件被叫做顶级窗口部件。通常情况下,顶级窗口部件是有框架和标题栏的窗口(尽管如果使用了一定的窗口部件标记,创建顶级窗口部件时也可能没有这些装饰。)在Qt中,QMainWindow和和不同的QDialog的子类是最普通的顶级窗口。一个没有父窗口部件的窗口部件一直是顶级窗口部件。非顶级窗口部件是子窗口部件。它们是它们的父窗口部件中的子窗口。你通常不能在视觉角度从它们的父窗口部件中辨别一个子窗口部件。在Qt中的绝大多数其它窗口部件仅仅作为子窗口部件才是有用的。(当然把一个按钮作为或者叫做顶级窗口部件也是可能的,但绝大多数人喜欢把他们的按钮放到其它按钮当中,比如QDialog。)QWidget有很多成员函数,但是它们中的一些有少量的直接功能:例如,QWidget有一个字体属性,但是它自己从来不用。有很多继承它的子类提供了实际的功能,比如QPushButton、QListBox和QTabDialog等等。每一个窗口部件构造函数接受两个或三个标准参数:QWidget *parent = 0是新窗口部件的父窗口部件。如果为0(默认),新的窗口部件将是一个顶级窗口部件。如果不是,它将会使parent的一个孩子,并且被parent的几何形状所强迫(除非你指定WType_TopLevel作为窗口部件标记)。const char *name = 0是新窗口部件的窗口部件名称。你可以使用name()来访问它。窗口部件名称很少被程序员用到,但是对于图形用户界面构造程序,比如Qt设计器,是相当重要的(你可以在Qt设计器中命名一个窗口部件,并且在你的代码中使用这个名字来连接它)。dumpObjectTree()调试函数也使用它。WFlags f = 0(在可用的情况下)设置窗口部件标记,默认设置对于几乎所有窗口部件都是适用的,但是,举例来说,一个没有窗口系统框架的顶级窗口部件,你必须使用特定的标记。tictac/tictac.cpp实例程序是一个简单窗口部件的好实例。它包含了一些的事件处理器(就像所有窗口部件所必须的那样)、一些被指定给它的定制处理(就像所有有用的窗口部件做的那样)并且还有一些孩子和联机。它所做的每一件事都响应对应的一个事件:这是到目前为止设计图形用户界面的最普通的方式。你自己将需要为你的窗口部件提供内容,但是这里是一些简要的运行事件,从最普通的开始:paintEvent() - 只要窗口部件需要被重绘就被调用。每个要显示输出的窗口部件必须实现它并且不在paintEvent()之外在屏幕上绘制是明智的。resizeEvent() - 当窗口部件被重新定义大小时被调用。mousePressEvent() - 当鼠标键被按下时被调用。有六个鼠标相关事件,但是鼠标按下和鼠标释放事件是到目前为止最重要的。当鼠标在窗口部件内或者当它使用grabMouse()来捕获鼠标时,它接收鼠标按下事件。mouseReleaseEvent() - 当鼠标键被释放时被调用。当窗口部件已经接收相应的鼠标按下事件时,它接收鼠标释放事件。这也就是说如果用户在你的窗口部件内按下鼠标,然后拖着鼠标到其它某个地方,然后释放,你的窗口部件接收这个释放事件。这里有一个例外:如果出现在弹出菜单中,当鼠标键被按下时,这个弹出菜单立即会偷掉这个鼠标事件。mouseDoubleClickEvent() - 和它看起来也许不太一样。如果用户双击,窗口部件接收一个鼠标按下事件(如果他们没有拿牢鼠标,也许会出现一个或两个鼠标移动事件)、一个鼠标释放事件并且最终是这个事件。直到你看到第二次点击是否到来之前,不能从一个双击中辨别一个点击。(这是为什么绝大多数图形用户界面图书建议双击是单击的一个扩展,而不是一个不同行为的触发的一个原因。)如果你的窗口部件仅仅包含子窗口部件,你也许不需要实现任何一个事件处理器。如果你想检测在子窗口部件中的鼠标点击,请在父窗口部件的mousePressEvent()中调用子窗口部件的hasMouse()函数。接收键盘的窗口部件需要重新实现一些更多的事件处理器:keyPressEvent() - 只要键被按下和当键已经被按下足够长的时间可以自动重复了就被调用。注意如果Tab和Shift+Tab键被用在焦点变换机制中,它们仅仅被传递给窗口部件。为了强迫那些键被你的窗口部件处理,你必须重新实现QWidget:event()。focusInEvent() - 当窗口部件获得键盘焦点(假设你已经调用setFocusPolicy())时被调用。写得好的窗口部件意味着它们能按照一种清晰但谨慎的方式来获得键盘焦点。focusOutEvent() - 当窗口部件失去键盘焦点时被调用。一些窗口部件也许需要实现一些不太普通的事件处理器:mouseMoveEvent() - 只要当鼠标键被按下时鼠标移动就会被调用。举例来说,对于拖动,这个很有用。如果你调用setMouseTracking(TRUE),尽管没有鼠标键被按下,你也会获得鼠标移动事件。(注意这个使用鼠标跟踪的应用程序在低下的X连接下不是很有用。)(也可以参考拖放信息。)keyReleaseEvent() - 只要键被释放和当如果这个键是自动重复的并且被按下一段时间时就被调用。在这种情况下窗口部件接收一个键释放事件并且对于每一个重复立即有一个键按下事件。注意如果Tab和Shift+Tab键被用在焦点变换机制中,它们仅仅被传递给窗口部件。为了强迫那些键被你的窗口部件处理,你必须重新实现QWidget:event()。wheelEvent() - 当窗口部件拥有焦点时,只要用户转动鼠标滚轮就被调用。enterEvent() - 当鼠标进入这个窗口部件屏幕空间时被调用。(这不包括被这个窗口部件的子窗口部件所拥有的屏幕空间。)leaveEvent() - 当鼠标离开这个窗口部件的屏幕空间时被调用。moveEvent() - 当窗口部件相对于它的父窗口部件已经被移动时被调用。closeEvent() - 当用户关闭窗口部件时(或这当close()被调用时)被调用。这里还有一些不太明显的事件。它们在qevent.h中被列出并且你需要重新实现event()来处理它们。event()的默认实现处理Tab和Shift+Tab(移动键盘焦点)并且其它绝大多数事件给上面提到的一个或更多的特定处理器。当实现一个窗口部件时,还有一些更多的事情要考虑。在构造函数中,在你可能收到一个事件的任何机会之前,请确认尽早地设置你的成员变量。重新实现sizeHint()在绝大多数情况下都是很有用的并且使用setSizePolicy(),来设置正确的大小策略,这样你的同事可以更容易地设置布局管理器。一个大小策略可以让你为布局管理器提供好的默认情况,这样其它窗口部件可以很容易地包含和管理你的窗口部件。sizeHint()为这个窗口部件说明一个“好的”大小。如果你的窗口部件是一个顶级窗口部件,setCaption()和setIcon()分别设置标题栏和图标。QWidget:QWidget ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )构造一个是parent的孩子、名称为name并且窗口部件标记为f的窗口部件。如果parent为0,新的窗口部件变为顶级窗口。如果parent是另一个窗口部件,这个窗口部件变为parent中的一个子窗口。当它的parent被删除时,新的窗口部件被删除。name被发送给QObject的构造函数。void QWidget:adjustSize () 虚调整窗口部件的大小来适合它的内容。QSize QWidget:baseSize () const返回窗口部件的继承大小。详细情况请参考“baseSize”属性。QWidget * QWidget:childAt ( int x, int y, bool includeThis = FALSE ) const返回在窗口部件自己的坐标系统中像素位置(x, y)处的可视的子窗口部件。bool QWidget:close () 槽关闭这个窗口部件。如果窗口部件被关闭,返回真,否则返回假。void QWidget:drawText ( int x, int y, const QString & str )在位置(x, y)绘制字符串strQFont QWidget:font () const返回这个窗口部件的字体当前设置。void QWidget:fontChange ( const QFont & oldFont ) 虚 保护这个虚函数是从setFont()中被调用的。oldFont是以前的字体,你可以通过font()获得新的字体。QFontInfo QWidget:fontInfo () const返回这个窗口部件当前字体的字体信息。等于QFontInto(widget-font()。QSize QWidget:frameSize () const返回包含任何窗口框架的窗口部件的大小。详细情况请参考“frameSize”属性。int QWidget:height () const返回不包括窗口框架的窗口部件的高度。详细情况请参考“height”属性。const QPixmap * QWidget:icon () const返回窗口部件图标像素映射。详细情况请参考“icon”属性QString QWidget:iconText () const返回窗口部件图标文本。详细情况请参考“iconText”属性。bool QWidget:isActiveWindow () const如果这个窗口部件是激活窗口或者它的一个孩子,返回真,否则返回假。详细情况请参考“isActiveWindow”属性。bool QWidget:isDesktop () const如果这个窗口部件是一个桌面窗口部件,比如,它代表着桌面,返回真,否则返回假。详细情况请参考“isDesktop”属性。bool QWidget:isDialog () const如果这个窗口部件是一个对话框窗口部件,返回真,否则返回假。详细情况请参考“isDialog”属性。bool QWidget:isEnabled () const如果这个窗口部件是生效的,返回真,否则返回假。详细情况请参考“enabled”属性。bool QWidget:isEnabledTo ( QWidget * ancestor ) const如果ancestor生效,这个窗口部件能够变为生效的,返回真,否则返回假。bool QWidget:isMaximized () const如果窗口部件是被最大化的顶级窗口部件,返回真,否则返回假。QLayout * QWidget:layout () const返回管理窗口部件孩子的几何形状的布局引擎的指针。void QWidget:setFixedHeight ( int h )设置这个窗口部件的最小高度和最大高度都为h,而不改变宽度。为了方便而提供。也可以参考sizeHint、minimumSize、maximumSize和setFixedSize()。void QWidget:setFixedSize ( const QSize & s )设置这个窗口部件的最小大小和最大大小都为s,这样就可以防止它变大或者变小。void QWidget:setFixedWidth ( int w )设置这个窗口部件的最小宽度和最大宽度都为h,而不改变高度。为了方便而提供。void QWidget:setFont ( const QFont & ) 虚设置这个窗口部件的字体当前设置。详细情况请参考“font”属性。void QWidget:setIcon ( const QPixmap & ) 虚 槽设置这个窗口部件图标像素映射。详细情况请参考“icon”属性。void QWidget:setIconText ( const QString & ) 虚 槽设置这个窗口部件图标文本。详细情况请参考“iconText”属性void QWidget:setMaximumHeight ( int maxh )设置这个窗口部件的最大高度为maxh。详细情况请参考“maximumHeight”属性。void QWidget:setMaximumSize ( const QSize & )设置这个窗口部件的最大大小。详细情况请参考“maximumSize”属性。void QWidget:setMaximumSize ( int maxw, int maxh ) 虚这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。这个函数相当于setMaximumSize( QSize(maxw, maxh) )。设置最大宽度为maxw,最大高度为maxh。void QWidget:setMaximumWidth ( int maxw )设置这个窗口部件的最大宽度为maxw。详细情况请参考“maximumWidth”属性。void QWidget:setMinimumHeight ( int minh )设置这个窗口部件的最小高度为minh。详细情况请参考“minimumHeight”属性。void QWidget:setMinimumSize ( const QSize & )设置这个窗口部件的最小大小。详细情况请参考“minimumSize”属性。void QWidget:setMinimumSize ( int minw, int minh ) 虚这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。这个函数相当于setMinimumSize( QSize(minw, minh) )。设置最小宽度为minw,最小高度为minh。void QWidget:setMinimumWidth ( int minw )设置这个窗口部件的最小宽度为minw。详细情况请参考“minimumWidth”属性。void QWidget:setSizePolicy ( QSizePolicy ) 虚设置这个窗口部件的默认布局方式。详细情况请参考“sizePolicy”属性。void QWidget:setStyle ( QStyle * style )设置这个窗口部件的图形用户界面风格为style。风格对象的所有权不能被转让。如果没有风格被设置,这个窗口部件使用应用程序的风格QApplication:style()替代它。设置窗口部件的风格对于已经存在或未来的子窗口部件没有效果。void QWidget:show () 虚 槽显示这个窗口部件和它的子窗口部件。QthreadQThread类提供了与系统无关的线程。QThread代表在程序中一个单独的线程控制,在多任务操作系统中,它和同一进程中的其它线程共享数据,但运行起来就像一个单独的程序一样。它不是在main()中开始,QThread是在run()中开始运行的。你继承run()并且在其中包含你的代码。例如: class MyThread : public QThread public: virtual void run(); ; void MyThread:run() for( int count = 0; count 20; count+ ) sleep( 1 ); qDebug( Ping! ); int main() MyThread a; MyThread b; a.start(); b.start(); a.wait(); b.wait(); 这将会开始两个线程,每个线程在屏幕上写20次“Ping!”并且退出。在main()的结尾调用wait()是必需的,因为main()的结束会终结整个程序,它会杀掉所有其它线程。当每个MyThread运行到MyThread:run()结尾时,它就结束运行,就好像一个应用程序离开main()时所做的一样。QThread:QThread ()构造一个新的线程。这个线程将直到start()被调用的时候才开始运行。Qt:HANDLE QThread:currentThread () 静态这返回当前执行的线程的线程句柄。警告:这个函数返回的句柄用于内部目的并且不应该在任何应用程序代码中使用它。在Windows中,返回值是当前线程的假句柄,并且它不能用于数字比较。void QThread:exit () 静态结束调用线程的执行并且唤醒任何等待它终止的线程。bool QThread:finished () const如果线程完成,返回真,否则返回假。void QThread:msleep ( unsigned long msecs ) 静态 保护与系统无关的睡眠。这将导致当前线程睡眠msecs毫秒。void QThread:postEvent ( QObject * receiver, QEvent * event ) 静态提供一个从一个不是事件线程的线程发送一个事件到一个对象的方法。void QThread:run () 纯虚 保护这个方法是纯虚的,并且为了能够做有用的工作必须在继承类中被重新实现。这个方法的返回将会结束线程的执行。也可以参考wait()。bool QThread:running () const如果线程正在运行,返回真,否则返回假。void QThread:sleep ( unsigned long secs ) 静态 保护与系统无关的睡眠。这将导致当前线程睡眠secs秒。void QThread:start ()通过调用run()(必须在QThread子类中重新实现来包含你的代码)开始这个线程的执行。如果你试图开始一个已经运行的线程,这个调用将一直等待,直到这个线程完成,然后再重新开始这个线程。void QThread:usleep ( unsigned long usecs ) 静态 保护与系统无关的睡眠。这将导致当前线程睡眠usecs微秒。bool QThread:wait ( unsigned long time = ULONG_MAX )这将提供和POSIX pthread_join相似的功能。一个线程调用了它将会一直阻塞,知道下述条件之一满足时继续:QtimeQTime类提供了时钟时间功能。QTime对象包含时钟时间,比如从午夜开始的时、分、秒和毫秒数。它可以从系统时钟中读取当前的时间并且度量时间的跨度。它提供比较时间和操作时间的函数,比如加上一定的秒或毫秒。QTime操作的是24小时时钟格式,它没有AM/PM概念。它操作的是本地时间,它不知道有关时区或白天时间的概念。QTime对象通常可以由明白地给定的时、分、秒和毫秒数字来创建,或者使用静态函数currentTime()让QTime对象包含系统时钟时间。注意精确性取决于下面操作系统的精确性,不是所有的操作系统都有毫秒级精确度的。hour()、minute()、second()和msec()函数提供了对时、分、秒和毫秒数字的访问。toString()提供了文本格式的相同信息。QTime提供了一整套的操作符来比较两个QTime对象,在这里小于表示早一些,大于表示晚一些。一个给定时间之后给定的秒或毫秒数的时间可以使用addSecs()或addMSecs()得到。相对地,两个时间的秒(或毫秒)数可以使用secsTo()或msecsTo()得到。QTime可以使用start()、restart()和elapsed()函数度量流逝的时间。也可以参考QDate、QDateTime和时间和日期。QTime:QTime ()构造一个时、分、秒和毫秒都是0的时间,比如,00:00:00.000(午夜)。这是一个有效的时间。也可以参考isValid()。QTime:QTime ( int h, int m, int s = 0, int ms = 0 )构造一个时、分、秒和毫秒分别为h、m、s和ms的时间。h必须在023之间,m和s必须在059之间,ms必须在0999之间。QTime QTime:addMSecs ( int ms ) const返回这个时间对象ms毫秒之后的一个时间对象(或者ms毫秒之前的,如果它是一个负数)。注意如果这个时间过了午夜,它将被转换QTime QTime:addSecs ( int nsecs ) const返回这个时间对象nsecs秒之后的一个时间对象(或者nsecs秒之前的,如果它是一个负数)。注意如果这个时间过了午夜,它将被转换QTime QTime:currentTime () 静态返回当前时间,来自于系统时钟。void QTime:start ()设置这个时间为当前时间。这是实际上使用来计时的:Qdir:QDir类提供了访问目录结构和它们的内容的与平台无关的方式。QDir用来操作路径名称、关于路径和文件的访问信息和操作底层文件系统。QDir使用相对或绝对文件路径来指向一个文件。绝对路径是从目录分隔符“/”或者带有一个驱动器标识(除了在Unix下)。如果你总是使用“/”作为目录分隔符,Qt将会把你的路径转化为符合底层的操作系统的。相对文件名是由一个目录名称或者文件名开始并且指定一个相对于当前路径的路径。“当前”路径是指应用程序的工作目录。QDir自己的路径可以通过setPath()设置并且通过path()获得。一个绝对路径的实例是字符串“/tmp/quartz”,相对路径看起来像是“src/fatlib”。你可以使用函数isRelative()来检查一个QDir使用的是相对还是绝对文件路径。调用convertToAbs()可以把一个相对的QDir转化为绝对的。使用cleanDirPath()可以得到一个简化的路径。为了获得没有符号连接或者多余的“.”元素的路径,请使用canonicalPath()。路径可以通过setPath()设置,或者使用cd()和cdUp()来改变。QDir提供了几个静态函数,例如,setCurrent()设置应用程序的工作目录并且currentDirPath()来获得应用程序的工作目录。访问一些普通的路径是由以下一些静态函数提供的,current()、home()和root()返回QDir对象或者currentDirPath()、homeDirPath()和rootDirPath()返回字符串路径。count()返回目录中的条目数量。通过entryList()可以获得目录中的所有文件和目录的名称的字符串列表。如果你希望得到QFileInfo指针的列表请使用entryInfoList()。这些函数都可以使用名称过滤器、属性过滤器(例如只读、只要文件不要目录等等)和排列顺序。过滤器和排序可以调用setNameFilter()、setFilter()和setSorting()来设置。它们可以通过entryList()和entryInfoList()的参数来指定。mkdir()可以创建一个新目录,rename()可以重命名一个目录并且rmdir()可以移除一个已经存在的目录。remove()可以移除一个已经存在的文件。你可以通过exists()、isReadable()和isRoot()来询问一个目录。使用filePath()可以得到一个带有文件名的路径,并且dirName()可以得到目录名称,这两个函数都不能检测文件或者目录是否存在。drives()提供根目录的列表,在Unix系统上,这个返回一个只包含根目录“/”的列表,在Windows上,这个列表将包含“C:/”并且还有“D:/”等等。如果你需要一个适应底层操作系统形式的路径,请使用convertSeparators()。实例:请参考一个目录是否存在。 QDir d( example ); / “./example” if ( !d.exists() ) qWarning( Cannot find the example directory ); Traversing directories and reading a file. QDir d = QDir:root(); / “/” if ( !d.cd(tmp) ) / “/tmp” qWarning( Cannot find the /tmp directory ); else QFile f( d.filePath(ex1.txt) ); / “/tmp/ex1.txt” if ( !f.open(IO_ReadWrite) ) qWarning( Cannot create the file %s, () ); 一个列出当前目录中所有文件(不包括符号连接)的程序,按大小排序,小的在前。 #include #include int main( int argc, char *argv ) QDir d; d.setFilter( QDir:Files | QDir:Hidden | QDir:NoSymLinks ); d.setSorting( QDir:Size | QDir:Reversed ); const QFileInfoList *list = d.entryInfoList(); QFileInfoListIterator it( *list ); QFileInfo *fi; printf( Bytes Filenamen ); while ( (fi = it.current() != 0 ) printf( %10li %sn, fi-size(), fi-fileName()。latin1() ); +it; return 0; QDir:QDir ()构造一个指向当前目录的QDir。QDir:QDir ( const QString & path, const QString & nameFilter = QString:null, int sortSpec = Name | IgnoreCase, int filterSpec = All )构造一个路径为path、名称过滤器为nameFilter并且属性过滤器为filterSpec的QDir。它也使用sortSpec来排列名称。默认的nameFilter是一个空字符串,不包含任何东西,默认的filterSpec是All,也就是说也不包含任何东西。默认的sortSpec是Name|IgnoreCase,也就是说不区分大小写按名称排序QDir:QDir ( const QDir & d )构造一个目录d的复制的QDir。QString QDir:absFilePath ( const QString & fileName, bool acceptAbsPath = TRUE ) const 虚返回路径中一个文件的绝对路径名称。不检查这个文件是否真的存在于这个目录中。在fileName中多余的分隔符或者“.”和“.”目录将被移除QString QDir:absPath () const 虚返回绝对路径(一个由“/”或驱动器标识开始的路径),可能包含符号连接,但是不会包含“.”、“.”或者多个分隔符。QString QDir:canonicalPath () const 虚返回规范的路径,也就是没有符号连接或者多余的“.”、“.”元素的路径。bool QDir:cd ( const QString & dirName, bool acceptAbsPath = TRUE ) 虚改变QDir的目录为dirName。void QDir:convertToAbs () 虚把目录路经转化为绝对路径。如果它已经是绝对路径了,就什么也不做。QDir QDir:current () 静态返回应用程序当前目录。QString QDir:currentDirPath () 静态返回应用程序当前目录的绝对路径QString QDir:dirName () const 虚返回目录的名称,这和路径是不同的,例如一个名称为“mail”的目录,也许路径为“/var/spool/mail”。如果目录没有名字(例如,它是根目录),一个零字符串被返回。QStringList QDir:entryList ( const QString & nameFilter, int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const 虚返回这个目录中所有目录和文件的名称的列表,根据setSorting()排序并且根据setFilter()和setNameFilter()进行过滤。bool QDir:exists ( const QString & name, bool acceptAbsPath = TRUE ) 虚检查文件name的存在性QString QDir:filePath ( const QString & fileName, bool acceptAbsPath = TRUE ) const 虚返回目录中一个文件的路径名称。不检查这个文件是否真的存在于这个目录中。如果QDir是相对的,返回的路径名称也是相对的。fileName中多余的多重分隔符或者“.”和“.”目录将被移除(请参考cleanDirPath())。QDir QDir:home () 静态返回主目录。bool QDir:mkdir ( const QString & dirName, bool acceptAbsPath = TRUE ) const 虚创建一个目录。bool QDir:remove ( const QString & fileName, bool acceptAbsPath = TRUE ) 虚移除文件。bool QDir:rename ( const QString & oldName, const QString & newName, bool acceptAbsPaths = TRUE ) 虚重命名一个文件或目录bool QDir:rmdir ( const QString & dirName, bool acceptAbsPath = TRUE ) const 虚移除一个目录。QDir QDir:root () 静态返回根目录。bool QDir:setCurrent ( const QString & path ) 静态设置你的应用程序的当前工作目录为path。如果目录被成功改变,返回真,否则返回假。继承了QWidget。QDialog类是对话框窗口的基类。对话框窗口是主要用于短期任务以及和用户进行简要通讯的顶级窗口。QDialog可以是模式的也可以是非模式的。QDialog支持扩展性并且可以提供返回值。它们可以有默认按钮。QDialog也可以有一个QSizeGrip在它的右下角,使用setSizeGripEnabled()。注意QDialog使用父窗口部件的方法和Qt中其它类稍微不同。对话框总是顶级窗口部件,但是如果它有一个父对象,它的默认位置就是父对象的中间。它也将和父对象共享工具条条目。这里有三种有用的对话框:模式对话框就是阻塞同一应用程序中其它可视窗口的输入的对话框:用户必须完成这个对话框中的交互操作并且关闭了它之后才能访问应用程序中的其它任何窗口。模式对话框有它们自己的本地事件循环。用来让用户选择一个文件或者用来设置应用程序参数的对话框通常是模式的。调用exec()来显示模式对话框。当用户关闭这个对话框,exec()将提供一个可用的返回值并且这时流程控制继续从调用exec()的地方进行。通常,我们连接默认按钮,例如“OK”到accept()槽并且把“Cancel”连接到reject()槽,来使对话框关闭并且返回适当的值。另外我们也可以连接done()槽,传递给它Accepted或Rejected。非模式对话框是和同一个程序中其它窗口操作无关的对话框。在字处理软件中查找和替换对话框通常是非模式的来允许同时与应用程序主窗口和对话框进行交互。调用show()来显示非模式对话框。show()立即返回,这样调用代码中的控制流将会继续。在实践中你将会经常调用show()并且在调用show()的函数最后,控制返回主事件循环。 “半模式”对话框是立即把控制返回给调用者的模式对话框。半模式对话框没有它们自己的事件循环,所以你将需要周期性地调用QApplication:processEvents()来让这个半模式对话框有处理它的事件的机会。进程对话框(例如QProgressDialog)就是一个实例,在你想让用户能够和进程对话框交互的地方那个,例如撤销一个长期运行的操作,但是需要实际上执行这个操作。半模式对话框模式标记被设置为真并且调用show()函数来被显示。默认按钮对话框的“默认”按钮适当用户按下回车键或者换行键时被按下的按钮。这个按钮用来表示用户接受对话框的设置并且希望关闭这个对话框。使用QPushButton:setDefault()、QPushButton:isDefault()和QPushButton:autoDefault()来设置并且控制对话框的默认按钮。扩展性扩展性是可以用两种方式来显示对话框:一个局部对话框用来显示通常最常用的选项,和一个显示所有选项的完全对话框。通常可扩展的对话框将初始化为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论