第三章 窗口部件
2019-9-10
基础窗口部件QWidget
QWidget的构造函数有两个参数:parent与Qt::Windowflags
对话框
使用快捷方式更改所有出现该变量的地方:
右击->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)QFrame类族
- QLabel
wordWrap属性可以实现文本的自动换行
QFontMetrics类可以可以对文本进行自动省略
scaledContents属性可以实现缩放标签里的内容 - QLCDNumber
- QStackWidget:需要利用其它部件对它进行控制
- QToolBox:层叠窗口部件
2)按钮部件
- QPushButton checkable属性使得它可以拥有选中和未选中两种状态(toggled是否被按下)
- QCheckBox、QRadioButton、QGroupBox
- QLineEdit:显示模式、输入掩码(returnpressed按下回车键)、输入验证、自动补全
3)QAbstractSpinBox
- QDateTimeEdit:日期时间设定
- QSpinBox:整数设定
- QDoubleSpinBox:浮点数设定
可以使用value函数来获得值
4)QAbstractSlider
新人创作打卡挑战赛发博客就能抽奖!定制产品红包拿不停!总结
- 上一篇: Java学习:多线程(2)
- 下一篇: java调优