鱼C论坛

 找回密码
 立即注册
查看: 2680|回复: 1

[已解决]如何使含有汉字和数字、英文的结果对齐?

[复制链接]
发表于 2023-11-9 14:28:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
通过在IDLE设置等宽字体的形式,下面的代码在IDLE中运行 实现了对齐
但是在pyside6做的界面中,输出结果仍然不对齐。是否需要在pyside6中设置等宽字体呢?如何设置?
我的界面是用qtdesigner来做的,输出结果在一个Text Browser 中显示的

  1. m = 1
  2. n = '苹果菠萝'
  3. p = 30.34
  4. print(f'{str(m):<6}{n:<14}{str(p):>05}\n')

  5. m = 30000
  6. n = '桃子'
  7. p = 7.91
  8. print(f'{str(m):<6}{n:<16}{str(p):>05}\n')
复制代码
最佳答案
2023-11-9 14:29:36
在PySide6中,可以通过设置QFont来实现在界面中显示等宽字体。以下是一个示例代码,展示了如何设置等宽字体并在Text Browser中显示对齐的结果:

  1. from PySide6.QtWidgets import QApplication, QMainWindow, QTextBrowser
  2. from PySide6.QtGui import QFont

  3. class MainWindow(QMainWindow):
  4.     def __init__(self):
  5.         super().__init__()
  6.         
  7.         # 创建一个Text Browser控件
  8.         self.text_browser = QTextBrowser(self)
  9.         self.setCentralWidget(self.text_browser)
  10.         
  11.         # 设置等宽字体
  12.         font = QFont("Courier New")
  13.         self.text_browser.setFont(font)
  14.         
  15.         # 执行对齐的代码
  16.         m = 1
  17.         n = '苹果菠萝'
  18.         p = 30.34
  19.         self.text_browser.append(f'{str(m):<6}{n:<14}{str(p):>05}\n')

  20.         m = 30000
  21.         n = '桃子'
  22.         p = 7.91
  23.         self.text_browser.append(f'{str(m):<6}{n:<16}{str(p):>05}\n')

  24. if __name__ == "__main__":
  25.     app = QApplication([])
  26.     window = MainWindow()
  27.     window.show()
  28.     app.exec()
复制代码


在这个示例中,我们创建了一个QMainWindow,并在其中添加了一个Text Browser控件。然后,我们使用QFont来设置等宽字体(Courier New),并将其应用于Text Browser。最后,我们使用 self.text_browser.append() 方法将对齐的结果添加到Text Browser中。

通过这种方式,你可以在PySide6中实现对齐的结果显示。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-11-9 14:29:36 | 显示全部楼层    本楼为最佳答案   
在PySide6中,可以通过设置QFont来实现在界面中显示等宽字体。以下是一个示例代码,展示了如何设置等宽字体并在Text Browser中显示对齐的结果:

  1. from PySide6.QtWidgets import QApplication, QMainWindow, QTextBrowser
  2. from PySide6.QtGui import QFont

  3. class MainWindow(QMainWindow):
  4.     def __init__(self):
  5.         super().__init__()
  6.         
  7.         # 创建一个Text Browser控件
  8.         self.text_browser = QTextBrowser(self)
  9.         self.setCentralWidget(self.text_browser)
  10.         
  11.         # 设置等宽字体
  12.         font = QFont("Courier New")
  13.         self.text_browser.setFont(font)
  14.         
  15.         # 执行对齐的代码
  16.         m = 1
  17.         n = '苹果菠萝'
  18.         p = 30.34
  19.         self.text_browser.append(f'{str(m):<6}{n:<14}{str(p):>05}\n')

  20.         m = 30000
  21.         n = '桃子'
  22.         p = 7.91
  23.         self.text_browser.append(f'{str(m):<6}{n:<16}{str(p):>05}\n')

  24. if __name__ == "__main__":
  25.     app = QApplication([])
  26.     window = MainWindow()
  27.     window.show()
  28.     app.exec()
复制代码


在这个示例中,我们创建了一个QMainWindow,并在其中添加了一个Text Browser控件。然后,我们使用QFont来设置等宽字体(Courier New),并将其应用于Text Browser。最后,我们使用 self.text_browser.append() 方法将对齐的结果添加到Text Browser中。

通过这种方式,你可以在PySide6中实现对齐的结果显示。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-24 12:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表