第三章 窗口部件

2019-9-10

  1. 基础窗口部件QWidget
    QWidget的构造函数有两个参数:parent与Qt::Windowflags

  2. 对话框

按照运行对话框时是否还可以与该程序的其他窗口进行交互,对话框常被分为两类:模态(交互)和非
模态的(不交互)。
setModal函数

使用快捷方式更改所有出现该变量的地方:
右击->Refactor->Rename Symbol Under Cursor
或者Ctrl+Shift+R

进行窗口的切换中:

accept()函数是QDialog类中的一个槽,对于一个使用exec()函数实现的模态对话框,执行这个槽
就会隐藏这个模态对话框,并返回QDialog::Accepted值。

关于窗口的切换这里,有需要注意的两点地方:

  • 如果说某个窗口一闪而过,很有可能是因为其所在函数执行完之后定义的变量均被回收了,这时我们需要使用new在堆空间进行定义,注意这里我们如果指定父亲的话,我们并不需要对内存空间进行释放。
  • 这里还需要使用if进行判断,否则出现的dlg无法进入主界面。

这里列举常见的几种标准对话框:
我们可以直接利用类的静态函数来显示对话框,好处是不用创建对象;
我们也可以先创建对象,然后进行各项更加灵活的设置。

  • 对话框(QColorDialog)

  • 文件对话框(QFileDialog)

  • 字体对话框(QFontDialog)

  • 输入对话框(QInputDialog)

  • 消息对话框(QMessageBox)

  • 进度对话框(QProgressDialog)

  • 错误信息对话框(QErrorMessage)这里默认有一个Show this message again复选框,我们需要记住是否选择了它,所以这里要将该类的对象设置为成员变量,而不能直接在槽中创建对话框。这里需要注意的是,只有是成员变量时才可以保存状态,在构造函数中定义一个变量是会出错的,它的作用域仅仅局限于构造函数之中。

  • 向导对话框(QWizard)可以定义不同的createpage函数,这样方便对每一个页面的样式进行设计。

  1. 其他窗口部件
    1)QFrame类族
lineWidth和midLineWidth的区别:
前者是边框边界线的宽度,后者是在边框中额外插入一条线的长度,只有在有线的时候才有用。
  • QLabel
    wordWrap属性可以实现文本的自动换行
    QFontMetrics类可以可以对文本进行自动省略
    scaledContents属性可以实现缩放标签里的内容
  • QLCDNumber
  • QStackWidget:需要利用其它部件对它进行控制
  • QToolBox:层叠窗口部件

2)按钮部件

  • QPushButton checkable属性使得它可以拥有选中和未选中两种状态(toggled是否被按下)
  • QCheckBox、QRadioButton、QGroupBox
  • QLineEdit:显示模式、输入掩码(returnpressed按下回车键)、输入验证、自动补全

3)QAbstractSpinBox

  • QDateTimeEdit:日期时间设定
  • QSpinBox:整数设定
  • QDoubleSpinBox:浮点数设定
    可以使用value函数来获得值

4)QAbstractSlider

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值