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 | ) |