QT中的三种基类

18 篇文章 5 订阅

一.QMainWindow:

QMainWindow类提供一个带有菜单条,工具条和一个状态条的主应用程序窗口。主窗口通常提供一个大的中央窗口部件,以及周围菜单,工具条,和一个状态栏。QMainWindow窗口经常被继承,使得封装中央部件,菜单,工具条,状态栏等都变得很容易,当用户点击它的时候,相应的槽就会被调用。

二.QWidget

QWidet类是所有用户界面对象的基类,窗口部件是用户界面的一个基本单元,它从窗口系统接收鼠标,键盘和其他消息,并在屏幕上绘制自己。一个窗口部件可以被他的父窗口或者是其他窗口挡住一部分。

三.QDialog

QDialog类是对话框窗口的基类,对话框窗口主要用于短期任务和用户进行短期通讯的顶级窗口,QDialog可以是模态对话框或者是非模态对话框。QDialog支持扩展并带有返回值,他们可以带有默认值。

1、Qt Creator提供的默认基类有QMainWindow、QWidget、QDialog这3种。

  •    QMainWindow是带有菜单栏和工具栏的主窗口,
  •    QDialog是各种对话框的基类,而这两者都是继承自QWidget。
  •    QWidget的(新建Qt GUI应用时选择QWidget为基类)。不仅如此,其实所有的窗口部件都继承     自QWidget。


2、QWidget的构造函数有两个参数:“QWidget * parent = 0”和“Qt::WindowFlags f = 0”。

  •   前面一个参数是指父窗口部件,默认值为0,表明没有父窗口;
  •   后面一个参数是Qt::WindowFlags的枚举类型,分为窗口类型(窗口的样式)和窗口标志(更改      窗口的标题栏和边框),可以进行位或操作。


3、ui是一个指向界面类的指针,使用“ui->”就是用来访问这个界面类里面的控件。


4.Qt提供的一些常用的对话框类型:

  •      QColorDialog(颜色对话框)
  •      QFileDialog(文件对话框)
  •      QFontDialog(字体对话框)
  •      QInputDialog(输入对话框)
  •      QMessageBox(消息对话框)
  •      QProgressDialog(进度对话框)
  •      QErrorMessage(错误信息对话框)
  •      QPageSetupDialog(页面设置对话框)
  •      QPrintDialog(打印对话框)
  •      QPrintPreviewDialog(打印预览对话框)


5、其他窗口部件
(1)QFrame类(带边框的部件的基类),其子类有

  • QLabel(标签部件,显示文本或者图片)
  • QLCDNumber(液晶数字显示效果)
  • QStackedWidget(提供了一个部件栈,可以切换多个界面)、
  • QToolBox(列层叠窗口,在一个界面上达到类似抽屉的效果,可以切换页面)。

(2)按钮部件,QAbstractButton类是按钮部件的抽象基类,其子类有

  •  QCheckBox(复选框,可以同时选择多项)、
  •  QPushButton(标准按钮)、

  •  QRadioButton(单选框按钮)、

  •  QToolButton(工具按钮)。

(3)QLineEdit(行编辑器),可以实现设置显示模式、输入掩码、输入验证、自动补全的功能。
(4)QAbstractSpinBox(数值设定框)是一个抽象基类,其子类有

  • QDataTimeEdit(设定日期时间)、
  • QSpinBox(设定整数)、
  • QDoubleSpinBox(设定浮点数)。

(5)QAbstractSlider(滑块部件),其子类有

  • QScrollBar(多用在QScrollArea类中实现滚动区域)、
  • QSlider(多用在音量控制或多媒体播放进度等方面)、
  • QDial(刻度表盘)。

--------------------- 
作者:Osean_li 
来源:CSDN 
原文:https://blog.csdn.net/osean_li/article/details/54580019 
版权声明:本文为博主原创文章,转载请附上博文链接!

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt,可以使用基类来管理文件类型解析。具体来说,可以创建一个基类,定义文件类型解析的接口和数据结构,然后创建子类来实现具体的文件类型解析。 以下是一个简单的示例: ``` class FileParser { public: virtual bool parseFile(const QString& fileName) = 0; virtual QString getType() const = 0; }; class TextFileParser : public FileParser { public: bool parseFile(const QString& fileName) override { // 实现文本文件解析逻辑 return true; } QString getType() const override { return "Text"; } }; class ImageFileParser : public FileParser { public: bool parseFile(const QString& fileName) override { // 实现图像文件解析逻辑 return true; } QString getType() const override { return "Image"; } }; ``` 在上述示例,我们定义了一个FileParser基类,包含了解析文件和获取文件类型的接口。然后,我们创建了两个子类TextFileParser和ImageFileParser,分别实现了文本文件和图像文件的解析逻辑,并返回了对应的文件类型。 使用时,我们可以根据文件类型创建相应的子类实例,然后调用parseFile方法进行文件解析: ``` QString fileName = "example.txt"; FileParser* parser = new TextFileParser(); if (parser->parseFile(fileName)) { qDebug() << "File parsed successfully"; } delete parser; ``` 在上述示例,我们创建了一个TextFileParser实例来解析文本文件,调用parseFile方法进行解析。当解析成功时,输出调试信息。解析完成后,我们需要手动释放parser对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值