|
DtkWidget
DTK Widget module
|
带有选择文件按钮的文本编辑框 更多...
Public 类型 | |
| enum | DialogDisplayPosition { FollowParentWindow , CurrentMonitorCenter } |
| 这个枚举保存了对话框可以出现的位置 更多... | |
信号 | |
| void | fileChoosed (const QString &fileName) |
| 这个信号在文件被选择且点击了对话框的确认按钮之后被调用 | |
| void | dialogOpened () |
| 这个信号在对话框即将显示时被调用 | |
| void | dialogClosed (int code) |
| 这信号在对话框关闭时被调用,无论对话框是被点击了确认还是取消,都会调用本信号 | |
信号 继承自 Dtk::Widget::DLineEdit | |
| void | alertChanged (bool alert) const |
| 警告状态改变发出此信号 | |
| void | focusChanged (bool onFocus) const |
| 焦点状态改变发出此信号 | |
| void | textChanged (const QString &) |
| 文本发生改变发出此信号 | |
| void | textEdited (const QString &) |
| 每当编辑文本时会发出此信号 | |
| void | cursorPositionChanged (int, int) |
| 光标位置改变发出此信号 | |
| void | returnPressed () |
| 按下Return键或Enter键会发出此信号 | |
| void | editingFinished () |
| 当按下Return或Enter键或文本字段失去焦点时会发出此信号 | |
| void | selectionChanged () |
| 每当选择更改时会发出此信号 | |
Public 成员函数 | |
| DFileChooserEdit (QWidget *parent=nullptr) | |
| 获取 DFileChooserEdit 的一个实例 | |
| void | setFileMode (QFileDialog::FileMode mode) |
| 设置文件选择模式 | |
| QFileDialog::FileMode | fileMode () const |
| 获取对话框选择文件模式 | |
| void | setNameFilters (const QStringList &filters) |
| 设置文件名过滤器 | |
| QStringList | nameFilters () const |
| 文件名过滤器 | |
| void | setDirectoryUrl (const QUrl &directory) |
| 设置文件对话框打开时的路径 | |
| QUrl | directoryUrl () |
| 返回文件对话框打开时的路径 | |
| void | setDialogDisplayPosition (DialogDisplayPosition dialogDisplayPosition) |
| 设置对话框显示位置 | |
| DFileChooserEdit::DialogDisplayPosition | dialogDisplayPosition () const |
| 这个属性保存文件选择对话框将会出现的位置 | |
| void | setFileDialog (QFileDialog *fileDialog) |
| 设置 fileDialog | |
| QFileDialog * | fileDialog () const |
| 返回 fileDialog | |
| void | initDialog () |
| 初始化对话框 | |
Public 成员函数 继承自 Dtk::Widget::DLineEdit | |
| DLineEdit (QWidget *parent=nullptr) | |
| DLineEdit的构造函数 | |
| QLineEdit * | lineEdit () const |
| 返回 QLineEdit 对象 | |
| void | setPlaceholderText (const QString &) |
| 设置占位文本 | |
| void | setAlert (bool isAlert) |
| 设置警告状态,橙黄色提示 | |
| bool | isAlert () const |
| 返回当前是否是警告状态 | |
| void | showAlertMessage (const QString &text, int duration=3000) |
| 显示警告消息 显示指定的文本消息,超过指定时间后警告消息消失 | |
| void | showAlertMessage (const QString &text, QWidget *follower, int duration=3000) |
| 显示警告消息 显示指定的文本消息,超过指定时间后警告消息消失 | |
| void | setAlertMessageAlignment (Qt::Alignment alignment) |
| 指定对齐方式 现只支持(下)左,(下)右,(下水平)居中, 默认左对齐 | |
| Qt::Alignment | alertMessageAlignment () const |
| 获取警告消息的对齐方式 | |
| void | hideAlertMessage () |
| 隐藏警告消息框 | |
| void | setLeftWidgets (const QList< QWidget * > &list) |
| 向输入框左侧添加控件 将 QList 里的控件插入到输入框的左侧 | |
| void | setRightWidgets (const QList< QWidget * > &list) |
| 向输入框右侧添加控件 将 QList 里的控件插入到输入框的右侧 | |
| void | setLeftWidgetsVisible (bool visible) |
| 是否隐藏输入框左侧控件. | |
| void | setRightWidgetsVisible (bool visible) |
| 是否隐藏输入框右侧控件. | |
| void | setClearButtonEnabled (bool enable) |
| 设置清除按钮是否可见. | |
| bool | isClearButtonEnabled () const |
| 返回清除按钮是否可见. | |
| void | setText (const QString &text) |
| 设置显示的文本. | |
| QString | text () |
| 返回当前显示的文本. | |
| void | clear () |
| 清空编辑的内容 | |
| QLineEdit::EchoMode | echoMode () const |
| 返回输入框的回显模式 | |
| void | setEchoMode (QLineEdit::EchoMode mode) |
| 设置回显的模式 | |
| void | setContextMenuPolicy (Qt::ContextMenuPolicy policy) |
| 设置行编辑控件的文本菜单策略 | |
| bool | speechToTextIsEnabled () const |
| 返回是否显示语音听写菜单项 | |
| void | setSpeechToTextEnabled (bool enable) |
| 设置是否显示语音听写菜单项 | |
| bool | textToSpeechIsEnabled () const |
| 返回是否显示语音朗读菜单项 | |
| void | setTextToSpeechEnabled (bool enable) |
| 设置是否显示语音朗读菜单项 | |
| bool | textToTranslateIsEnabled () const |
| 返回是否显示文本翻译菜单项 | |
| void | setTextToTranslateEnabled (bool enable) |
| 设置是否显示文本翻译菜单项 | |
| bool | copyEnabled () const |
| 返回文本是否可拷贝 | |
| void | setCopyEnabled (bool enable) |
| 设置文本是否可拷贝 | |
| bool | cutEnabled () const |
| 返回文本是否可裁切 | |
| void | setCutEnabled (bool enable) |
| 设置输入文本是否可裁切 | |
额外继承的成员函数 | |
Protected 成员函数 继承自 Dtk::Widget::DLineEdit | |
| DLineEdit (DLineEditPrivate &q, QWidget *parent) | |
| bool | eventFilter (QObject *watched, QEvent *event) override |
| 事件过滤器 该过滤器不做任何过滤动作,但会监控输入框的焦点状态,并发送信号 focusChanged()。 | |
| bool | event (QEvent *event) override |
属性 继承自 Dtk::Widget::DLineEdit | |
| bool | alert |
| 警告模式属性. | |
带有选择文件按钮的文本编辑框
本控件基本与 DLineEdit 相同,但同时在编辑框的右侧提供了一个按钮,点击按钮将会出现一个选择文件的对话框,当在对话框中选择完毕点击确定之后,选择的结果将会出现在文本编辑框中。 另外还提供了设置对话框出现的位置,选择文件的类型,或设置文件名过滤器的方法以定制控件的功能。
下面提供DFileChooserEdit的例子:
项目目录结构在同一目录下
编译运行
结果如下图
| Dtk::Widget::DFileChooserEdit::DFileChooserEdit | ( | QWidget * | parent = nullptr | ) |
获取 DFileChooserEdit 的一个实例
| parent | 作为实例的父控件 |
|
signal |
这信号在对话框关闭时被调用,无论对话框是被点击了确认还是取消,都会调用本信号
| code | 对话框的返回码,返回码表示了对话框是因为点击了取消还是确认而关闭的 |
| DFileChooserEdit::DialogDisplayPosition Dtk::Widget::DFileChooserEdit::dialogDisplayPosition | ( | ) | const |
这个属性保存文件选择对话框将会出现的位置
可选值为枚举 DFileChooserEdit::DialogDisplayPosition 中的值 Getter: DFileChooserEdit::dialogDisplayPosition , Setter: DFileChooserEdit::setDialogDisplayPosition
|
signal |
这个信号在对话框即将显示时被调用
|
signal |
这个信号在文件被选择且点击了对话框的确认按钮之后被调用
| fileName | 被选中的文件名,包含其绝对路径。 |
| QFileDialog::FileMode Dtk::Widget::DFileChooserEdit::fileMode | ( | ) | const |
获取对话框选择文件模式
有多种类型的选择模式,也就是说对话框可以有多种显示或行为,例如选择单个文件,选择多个文件亦或选择一个目录等,详细可以查阅:QFileDialog::FileMode
| QStringList Dtk::Widget::DFileChooserEdit::nameFilters | ( | ) | const |
文件名过滤器
默认此选项为空,即所有文件都可以被选择,当文件名过滤器被设置后,则只有文件名与过滤器匹配的文件可以被选择, 例如:设置了"*.txt",则表示只有后缀名为"txt"的文件可以被选择, 或者同时设置了多个过滤器:QStringList() << "text file (*.txt)" << "picture file (*.png); 则会在文件选择对话框的下方出现设置的多个过滤选项,只是需要注意,一次只能使用一个过滤选项,也就是说不能同时即允许选择txt文件又允许选择png文件
| void Dtk::Widget::DFileChooserEdit::setDialogDisplayPosition | ( | DFileChooserEdit::DialogDisplayPosition | dialogDisplayPosition | ) |
| void Dtk::Widget::DFileChooserEdit::setFileMode | ( | QFileDialog::FileMode | mode | ) |
| void Dtk::Widget::DFileChooserEdit::setNameFilters | ( | const QStringList & | filters | ) |