标题:qlineEdit如何让文字在左上角对齐?
作者:qazaq408
日期:2017-03-23 08:26
内容:
对于一个QLineEdit来说,默认文字是左下对齐的,现在我希望文字是左上对齐,这该怎么设置?
edits->setAlignment(Qt::AlignTop|Qt::AlignLeft);我设置他的对齐方式为上+左,但文字还是出现左下对齐
#1 [15145093145 03-23 11:41]
没毛病,我就这么用的,也达到效果了, 你再看看你的代码~
#2 回 15145093145 的帖子 [qazaq408 03-23 21:56]
15145093145:
没毛病,我就这么用的,也达到效果了, 你再看看你的代码~
#include
#include
int main(int argc , char** argv)
{
QApplication app(argc,argv);
QLineEdit A;
A.setAlignment(Qt::AlignTop);//这里设置的对齐方式貌似没用
A.show();
return app.exec();
}
上面是代码和程序图片,图片上我用红色画了条红线,我希望的效果是文字顶着状体,但仔细看文字和窗体最上的边框不是贴着的
#3 [15145093145 03-24 09:19]
帖着好看吗,为什么这么奇怪的需求
#4 回 15145093145 的帖子 [qazaq408 03-24 13:45]
15145093145:
帖着好看吗,为什么这么奇怪的需求
是这样的,这个程序要求注释,现在用一个QLineEdit来作为输入框,输入完了再相同的位置放个QLabel来显示内容,再QLabel中,文字是盯着控件最上面显示的,二QLineEdit则是有段小小的空隙
这样就引发了一个问题,当编辑完了只有用一个 QLabel放置原来QLineEdit的位置,但由于两者文字的位置略有不同(一个顶着窗体,一个上面有空隙),导致文字会出现移动
为了解决这个问题,暂时用
point = lineedit->pos()
X = point.x() +Len;
Y = point.y() + Len;
label->move(X,Y);
这种方式来解决,其中Len是个常量,用于弥补那段空隙,但是因为程序会在不同的机器上使用,显示器会有很多种,所以不知道所有的机器行不行