从Qt中的对话框获取数据并在Ui中使用
Taking data from a Dialog in Qt and using it in a Ui
所以我正在使用Qt制作一个文本编辑器,现在我有一个按钮可以打开一个名为"格式化文本"的对话框。我希望它的工作方式有点像记事本中名为"字体"的对话框,你可以从一些下拉列表中选择一些文本属性,它会显示你的文本的样子。现在我有了它,你可以选择字体样式、字体颜色和字体大小,然后点击预览,它会在对话框中的一个框中显示你的文本。然而,我有一个名为"OK"的按钮,它应该更改高亮显示的文本或您将要键入的文本,但我不知道如何在主窗口上显示这些更改。ui文件是私有的,并且很多已经生成的函数和指针在每个ui文件中都是相同的,所以如果我将ui文件更改为public,我必须更改一大堆内容。无论如何,能给我一个简单的答案吗?我试着尽可能少地感到困惑。对我这种技术水平的人来说,多编码、少混乱总比少编码、多混乱好。很抱歉,这只是一个巨大的段落,我没有提供任何代码,但我认为代码没有必要,但如果你确实需要一些代码,我很乐意分享。谢谢你的帮助和时间。我希望大家晚上过得愉快。
QDialog
有一个名为finished()的信号,您可以将该信号与插槽连接。为了完成您的工作,将一个QSettings
或为了简单起见,将QStringList
传递到对话框设置(负责更改字体、颜色…),QStringList
将保存用户定义的设置,关闭对话框后,通过QStringList
成员迭代以提醒主窗口。伪代码如下所示类编辑器:
Editor::Editor()
{
TextSettings textSettings;
textSettings.setSettings(settings); // settings is a member
connect(textSettings, &finished(int)), this, SLOT(alertEditor(int)))
}
Editor::alertEditor(int s)
{
if(s == 0)
{
for (int i = 0; i < settings.size(); ++i)
settings.at(i).toLocal8Bit().constData(); // extract various user settings
}
}
类文本设置:
TextSettings::TextSettings(QStringList settings)
{
settings << ui->combobox->currentItem(); // font name as example
}
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 使用指针从C++中的数组中获取最大值
- 如何获取std::result_of函数的返回类型
- 如何在openssl-ecc中获取十六进制格式的私钥
- 使用Unreal C++获取VR耳机的世界位置/方向
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 从C字符串中获取奇怪的字符串长度
- 如何在MS Visual Studio 2019中运行QT UI
- 为什么我的for循环不能正确获取argv
- 从python中调用C++函数并获取返回值
- 如何获取一个数字的前3位
- 获取字符串的长度并将其分配给数组
- 无法获取菜单选择以运行函数.C++
- 从源文件获取 ui 元素时出错
- Qt在主窗口字段中从主窗口获取ui参数
- 从Qt中的对话框获取数据并在Ui中使用
- 如何从一个小部件中获取ui,以便将其连接到另一个类中
- 在QList中获取所有qlabel表单UI的正确方法是什么?