Python 如何同时将结果左对齐和右对齐

Python 如何同时将结果左对齐和右对齐,python,pyqt,pyqt4,pyodbc,Python,Pyqt,Pyqt4,Pyodbc,使用PyQt4、pyodbc和Python3.5.1,我希望同时将结果行左对齐和右对齐。我的意思是: printing resultrow = "column1:column2" 但我想把它打印成 printing resultrow = "column1 : column2" 我正在将结果数据写入Qt4应用程序纯文本编辑字段。由于结果正在改变,我不知道我需要添加多少空格,所以我需要在纯文本编辑字段上对齐它们,但这只是一种方式,至少据我所知。请建议我解决这个问题 谢谢…您

使用PyQt4、pyodbc和Python3.5.1,我希望同时将结果行左对齐和右对齐。我的意思是:

printing resultrow = "column1:column2"
但我想把它打印成

printing resultrow = "column1      :      column2"
我正在将结果数据写入Qt4应用程序纯文本编辑字段。由于结果正在改变,我不知道我需要添加多少空格,所以我需要在纯文本编辑字段上对齐它们,但这只是一种方式,至少据我所知。请建议我解决这个问题


谢谢…

您可以使用普通的python字符串格式进行对齐和空间填充

>>> '{:<15}:{:>15}'.format('column1', 'column2')
'column1        :        column2'
>>'{:15}'。格式('column1','column2')
“column1:column2”
如果要生成padding变量

width = len(row)
fmt_str = '{{:<{0}}}:{{:>{0}}}'.format(width)
fmt_str.format('column1', 'column2')
width=len(行)
fmt_str='{{:{0}}'。格式(宽度)
fmt_str.格式('column1','column2')

为什么不使用带列的小部件,如
QTreeWidget
QTableWidget
来显示数据,而不是尝试在文本小部件中手动对齐?我应该试试,谢谢你的建议这看起来很完美,我会写下结果,我已经接近了,但请教我如何用len(第[0]行)之类的东西替换>15。我用.format尝试了{0},但没有成功work@fuzunspm更新了答案