这是我的示例代码:
QInputDialog* inDialog = new QInputDialog();
inDialog->setMaximumWidth(100);
inDialog->setLabelText(QString("long and very long......you can say very long"));
输入框显示很长(只要字符串),我期望为LabelText设置自动换行的方式,但似乎QInputDialog没有方法!
我现在能做什么?写我自己的InputDialog类?哦不......! 我希望有更好的方法!
答案 0 :(得分:1)
我刚刚开始使用QT,所以这可能不是获得你想要的最好的方式但是我会做什么。
我会创建自己的自定义输入对话框,继承QInputDialog。然后我将覆盖setLabelText函数以检查字符串长度是否小于100.
如果小于100,那么您可以继续显示它。如果没有,那么你可以选择添加你的点和删除单词的位置,以减小尺寸。
一旦等于100个字符或更少,您就可以显示它。
如果你愿意的话,我会在回家时试着写一个例子。
答案 1 :(得分:1)
我会自己做,例如:
QString s = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut" ;
QString wrapped ;
if(s.length()>35)
{
wrapped = s.left(15) + QString(".....") + s.right(15) ;
}
else
{
wrapped = s ;
}
inDialog->setLabelText(wrapped) ;