动态更改文本 qlabel
Dynamically change text qlabel
对不起我的英语。我需要动态更改文本 qlabel。
class Game:
{
...
std::shared_ptr<QWidget> m_hint;
QLabel *m_label;
QHBoxLayout *m_layout;
}
void Game::setTextToHint(std::string str)
{
m_label = new QLabel();
m_layout = new QHBoxLayout();
m_label->setText(QString::fromUtf8(str.c_str()));
m_layout->addWidget(m_label);
m_hint->setLayout(m_layout);
}
我使用这个函数,例如两次:
setTextToHint("One");
setTextToHint("First");
但最终label = "One"
好的,我明白了。我只是在类构造函数中受苦。
m_label = new QLabel();
m_layout = new QHBoxLayout();
但问题实际上是:
我仍然想要求使用stl智能指针这个qt对象不好。我不能使用库中的智能指针 QT 只有 STL。我该怎么办?
你应该只调用setText()
setTextToHint
,其他一切都应该在Game
的构造上完成。
根据您关于使用 stl 智能指针的评论,我认为您担心直接使用new
时会发生内存泄漏。事实上,你的用法大多是正确的 - Qt在使用适当的父子设置的同时提供自己的内存管理,所以没有理由将Qt对象分配与stl智能指针混合(一般来说)。
关于这个话题的更多对话可以在这里找到:stackoverflow.com/questions/3264420/lifetime-of-qt-objects
相关文章:
- 文本文件中的单词链表
- 从命令行c++发送文本文件名
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 2D数组来自文本输入,中间有空格
- 如何将内容数组写入文本文件?
- 如何在C++中将自定义文本设置为 QLabel?
- 是否可以从Qlabel文本中获取Qlabel名称
- 随着C 的数据更改,更新本地Qlabel的文本
- 动态更改文本 qlabel
- 在 qlabel 中将图像设置为背景并在其顶部设置文本
- QLABEL切断调整大小的文本
- 在Qlabel中隐藏或裁剪重叠的文本
- 如何检测QLabel中的文本何时更改
- 动态文本大小QLabel
- Qt QLabel 富文本制表
- 使QLabel文本可选
- 将文本从QListWidget的项目拖动到QLabel
- 返回QString的函数的QLabel文本集
- 更新Qlabel文档矩形,该矩形调用的标签不是文本标签.为什么
- QT:简单的文本从QLineEdit到QLabel的不同类