Python----PyQt开发(PyQt高级:组件大小,界面位置,按钮,文本显示,文本输入,字体大小)

embedded/2025/2/13 6:51:05/

一、大小

setMinimumSize(width, height)

描述:

        设置控件的最小尺寸。控件不会被缩小到比这个尺寸更小的大小。

参数:

        width: 最小宽度(以像素为单位)。
        height: 最小高度(以像素为单位)。

python">button.setMinimumSize(100, 50)  # 设置按钮的最小大小为宽100高50像素
setMaximumSize(width, height)

描述:

        设置控件的最大尺寸。控件不会被扩大到比这个尺寸更大的大小。

参数:

        width: 最大宽度(以像素为单位)。
        height: 最大高度(以像素为单位)。

python">button.setMaximumSize(200, 100)  # 设置按钮的最大大小为宽200高100像素
setFixedSize(width, height)

描述:

        设置控件的固定尺寸。控件的大小将被固定,不可调整。

参数:

        width: 固定宽度(以像素为单位)。
        height: 固定高度(以像素为单位)。

python">button.setFixedSize(150, 75)  # 设置按钮的固定大小为宽150高75像素
resize(width, height)

描述:

        调整控件的当前大小。与 setFixedSize 不同,此方法允许控件在其最小和最大尺寸范围内调整大小。

参数:

        width: 新宽度(以像素为单位)。
        height: 新高度(以像素为单位)。

python">button.resize(120, 60)  # 调整按钮的大小为宽120高60像素
size()

描述:

        获取控件的当前大小,返回一个 QSize 对象,包含控件的当前宽度和高度。

返回值: 

        QSize 对象。

python">current_size = button.size()  # 获取按钮的当前大小  
print("Width:", current_size.width(), "Height:", current_size.height())
minimumSize()

描述:

        获取控件设置的最小大小,返回一个 QSize 对象。

返回值: 

        QSize 对象。 

python">min_size = button.minimumSize()  # 获取按钮的最小大小  
print("Minimum Width:", min_size.width(), "Minimum Height:", min_size.height())
 maximumSize()

描述:

        获取控件设置的最大大小,返回一个 QSize 对象。

返回值: 

        QSize 对象。

python">max_size = button.maximumSize()  # 获取按钮的最大大小  
print("Maximum Width:", max_size.width(), "Maximum Height:", max_size.height())
setContentsMargins(left, top, right, bottom)

描述:

        设置控件内容与边缘之间的边距。边距影响控件的可用绘制区域。

参数:

        left: 左边距(以像素为单位)。
        top: 上边距(以像素为单位)。
        right: 右边距(以像素为单位)。
        bottom: 下边距(以像素为单位)。 

python">widget.setContentsMargins(10, 10, 10, 10)  # 设置所有边距为10像素

二、位置

2.1、设置窗口在桌面的显示位置 

        要在桌面上设置窗口的位置,可以使用 move(x, y) 方法。

参数:

        x: 窗口左上角的水平位置(以像素为单位)。
        y: 窗口左上角的垂直位置(以像素为单位)。

python">import sys  
from PyQt5.QtWidgets import QApplication, QWidget  app = QApplication(sys.argv)  # 创建窗口实例  
window = QWidget()  
window.setWindowTitle("My Window")  # 设置窗口位置 (100, 100) 在桌面上  
window.move(100, 100)  # 设置窗口大小  
window.resize(400, 300)  # 显示窗口  
window.show()  
sys.exit(app.exec_())

2.2、窗口位置居中

cursor_pos = QCursor.pos()

QCursor.pos():

        描述: 这个静态方法返回当前鼠标光标的位置,返回的是一个 QPoint 对象,表示光标在屏幕上的坐标(以像素为单位)。
        用途: 你可以用这个位置来确定光标当前在哪个屏幕上,或者在鼠标悬停时获取控件的位置信息。

current_screen = app.screenAt(cursor_pos)

app.screenAt(cursor_pos):

        描述: screenAt() 方法用于返回当前光标所在位置的屏幕对象。这个方法是 QApplication 类的一部分,接受一个 QPoint 参数(光标位置),并返回一个 QScreen 对象。
        用途: 通过这个方法,你可以获取到光标所在的屏幕的信息,例如屏幕的尺寸、分辨率等。

screen_ret = current_screen.availableGeometry()

current_screen.availableGeometry():

        描述: 这个方法返回一个 QRect 对象,表示当前屏幕上可用的几何区域(即可以用来放置窗口的区域),通常不包括任务栏、菜单栏等占用屏幕空间的部分。
        用途: 你可以使用这个信息来决定窗口的位置和大小,确保窗口不会被任务栏或其他系统界面元素遮挡。 

python">from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QCursor
import sysif __name__ == '__main__':# 创建 QApplication 实例,管理 GUI 应用程序的控制流程和主设置app = QApplication(sys.argv)# 创建主窗口 (QWidget)windows = QWidget()# 设置窗口标题为 '设置居中'windows.setWindowTitle('设置居中')# 获取当前鼠标光标在屏幕上的位置cursor_pos = QCursor.pos()# 在光标位置获取对应的屏幕current_screen = app.screenAt(cursor_pos)if current_screen is not None:# 获取当前屏幕的可用几何区域(大小和位置)creen_ret = current_screen.availableGeometry()# 计算屏幕宽度和高度的一半width = creen_ret.width() * 0.5height = creen_ret.height() * 0.5# 将窗口调整为屏幕可用宽度和高度的一半windows.resize(width, height)# 将窗口移动到屏幕的中心位置windows.move(width * 0.5, height * 0.5)# 打印当前屏幕的可用几何区域(用于调试)print(creen_ret)  # 输出 QRect(矩形区域)表示可用几何区域print(creen_ret.width())  # 输出可用区域的宽度print(creen_ret.height())  # 输出可用区域的高度print(creen_ret.left())  # 输出可用区域的左侧位置print(creen_ret.top())  # 输出可用区域的顶部位置left=creen_ret.left()top=creen_ret.top()# 显示主窗口windows.show()# 启动应用程序的事件循环app.exec()

三、按钮--QPushButton

        QPushButton 是一个可以被用户点击的按钮。可以通过 setText("Button Text") 设置按钮的文本,通过连接信号(如 clicked)来定义按钮被点击时触发的行为。

python">from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QTextBrowser  # 导入所需的PyQt5模块  
import sys  # 导入sys模块以处理命令行参数和退出程序  class Wight(QWidget):  # 定义一个名为 Wight 的类,继承自 QWidget  def __init__(self):  super().__init__()  # 调用父类的构造函数,初始化父类的属性  self.ui_init()  # 调用自定义的 UI 初始化方法  self.setWindowTitle('按钮')  # 设置窗口的标题  self.resize(800, 800)  # 设置窗口的大小为800x800像素  self.move(555, 255)  # 设置窗口在屏幕上的位置,坐标为(555, 255)  def ui_init(self):  # 初始化用户界面  self.show_btn = QPushButton(self)  # 创建一个 QPushButton 实例,并将其设置为当前窗口的子控件  self.show_btn.setText('按钮')  # 设置按钮的文本为"按钮"  self.show_btn.setGeometry(350, 50, 100, 100)  # 设置按钮的位置和大小,位置(350, 50),宽100高100像素  self.show_btn.clicked.connect(lambda: print("这是一个按钮的点击事件"))  # 当按钮被点击时,输出提示信息  if __name__ == '__main__':  app = QApplication(sys.argv)  # 创建 QApplication 实例,传递命令行参数  w = Wight()  # 创建 Wight 窗口实例  w.show()  # 显示窗口  app.exec()  # 进入应用程序主循环,等待事件处理

四、QTextBrowser

        QTextBrowser 是一个用于显示和编辑富文本的控件,支持HTML格式。它可以显示多行文本并允许添加链接。

python">from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QTextBrowser  # 导入所需的 PyQt5 模块  
import sys  # 导入 sys 模块以处理命令行参数和退出程序  class Wight(QWidget):  # 定义一个名为 Wight 的类,继承自 QWidget  def __init__(self):  super().__init__()  # 调用父类的构造函数,初始化父类(QWidget)的属性  self.ui_init()  # 调用自定义的 UI 初始化方法  self.setWindowTitle('文本介绍')  # 设置窗口的标题为 "文本介绍"  self.resize(800, 800)  # 设置窗口的大小为 800x800 像素  self.move(555, 255)  # 设置窗口在屏幕上的位置,坐标为 (555, 255)  def ui_init(self):  # 初始化用户界面  self.show_text = QTextBrowser(self)  # 创建一个 QTextBrowser 实例,并将其设置为当前窗口的子控件  self.show_text.setGeometry(175, 200, 400, 400)  # 设置 QTextBrowser 的位置和大小,位置 (175, 200),宽 400 高 400 像素  # 设置文本内容,介绍 QPushButton 的用法  self.show_text.setText(  'QPushButton 是一个可以被用户点击的按钮。'  '可以通过 setText("Button Text") 设置按钮的文本,'  '通过连接信号(如 clicked)来定义按钮被点击时触发的行为。'  )  if __name__ == '__main__':  app = QApplication(sys.argv)  # 创建 QApplication 实例,传递命令行参数  w = Wight()  # 创建 Wight 窗口实例  w.show()  # 显示窗口  app.exec()  # 进入应用程序主循环,等待事件处理

五、QPushButton与QTextBrowser结合

        这是一个按钮与文本结合使用的,它将会以故宫位主要材料,通过点击按钮使文本出现故宫的介绍为主要内容,将会通过两种形式呈现这一方法的实现

5.1、纯编程

python">from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QTextBrowser  # 导入所需的 PyQt5 模块  
import sys  # 导入 sys 模块以处理命令行参数和退出程序  class Wight(QWidget):  # 定义一个名为 Wight 的类,继承自 QWidget  def __init__(self):  super().__init__()  # 调用父类的构造函数,初始化父类(QWidget)的属性  self.ui_init()  # 调用自定义的 UI 初始化方法  self.setWindowTitle('故宫介绍')  # 设置窗口的标题为 "故宫介绍"  self.resize(800, 800)  # 设置窗口的大小为 800x800 像素  self.move(555, 255)  # 设置窗口在屏幕上的位置,坐标为 (555, 255)  self.slot_init()  # 调用槽函数初始化方法,连接按钮的信号  def ui_init(self):  # 初始化用户界面  self.show_btn = QPushButton(self)  # 创建一个 QPushButton 实例,并将其设置为当前窗口的子控件  self.show_btn.setText('按钮')  # 设置按钮的文本为 "按钮"  self.show_btn.setGeometry(350, 50, 100, 100)  # 设置按钮的位置和大小,位置 (350, 50),宽 100 高 100 像素  self.show_text = QTextBrowser(self)  # 创建一个 QTextBrowser 实例,用于显示文本  self.show_text.setGeometry(75, 200, 600, 400)  # 设置 QTextBrowser 的位置和大小,位置 (75, 200),宽 600 高 400 像素  def slot_init(self):  # 初始化信号与槽的连接  self.show_btn.clicked.connect(self.show_info)  # 当按钮被点击时,连接到 show_info 方法  def show_info(self):  # 定义显示故宫介绍的文本  data = '''  
故宫又称紫禁城。中国古代讲究“天人合一”的规划理念,  
用天上的星辰与都城规划相对应,以突出政权的合法性和  
皇权的至高性。天帝居住在紫微宫,而人间皇帝自诩为受  
命于天的“天子”,其居所应象征紫微宫以与天帝对应,  
《后汉书》载“天有紫微宫,是上帝之所居也。王者立宫,  
象而为之”。紫微、紫垣、紫宫等便成了帝王宫殿的代  
称。由于封建皇宫在古代属于禁地,常人不能进入,故称为  
“紫禁”。明朝初期同外禁垣一起统称“皇城”,大约明朝中晚  
期,与外禁垣区分开来,即宫城叫“紫禁城”,外禁垣为“皇城”。  
'''  self.show_text.setText(data)  # 将文本内容设置到 QTextBrowser 中显示  if __name__ == '__main__':  app = QApplication(sys.argv)  # 创建 QApplication 实例,传递命令行参数  w = Wight()  # 创建 Wight 窗口实例  w.show()  # 显示窗口  app.exec()  # 进入应用程序主循环,等待事件处理

5.2、通过Designer 设计,代码完成交互

python"># -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(534, 393)self.show_btn = QtWidgets.QPushButton(Form)self.show_btn.setGeometry(QtCore.QRect(60, 160, 71, 51))self.show_btn.setObjectName("show_btn")self.textBrowser = QtWidgets.QTextBrowser(Form)self.textBrowser.setGeometry(QtCore.QRect(180, 30, 321, 341))self.textBrowser.setObjectName("textBrowser")self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "Form"))self.show_btn.setText(_translate("Form", "故宫按钮"))

python">from  untitled import Ui_Form
import  sys
from  PyQt5.QtWidgets import  QApplication,QWidgetclass Mywindows(QWidget,Ui_Form):def __init__(self):super().__init__()self.setupUi(self)self.setWindowTitle('我是故宫')self.solt_init()def solt_init(self):self.show_btn.clicked.connect(self.show_info)def show_info(self):data = '''故宫又称紫禁城。中国古代讲究“天人合一”的规划理念,用天上的星辰与都城规划相对应,以突出政权的合法性和皇权的至高性。天帝居住在紫微宫,而人间皇帝自诩为受命于天的“天子”,其居所应象征紫微宫以与天帝对应,《后汉书》载“天有紫微宫,是上帝之所居也。王者立宫,象而为之”。紫微、紫垣、紫宫等便成了帝王宫殿的代称。由于封建皇宫在古代属于禁地,常人不能进入,故称为“紫禁”。明朝初期同外禁垣一起统称“皇城”,大约明朝中晚期,与外禁垣区分开来,即宫城叫“紫禁城”,外禁垣为“皇城”。'''self.textBrowser.setText(data)if __name__ == '__main__':app=QApplication(sys.argv)w=Mywindows()w.show()app.exec()

 

六、QLineEdit

        QLineEdit 是一个用户输入单行文本的控件。可以通过设置文本、获取用户输入及处理文本输入的信号来使用。

python">from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QTextBrowser, QLineEdit  # 导入所需的 PyQt5 模块
import sys  # 导入 sys 模块以处理命令行参数和退出程序class Wight(QWidget):  # 定义一个名为 Wight 的类,继承自 QWidgetdef __init__(self):super().__init__()  # 调用父类的构造函数,初始化父类的属性self.ui_init()  # 调用自定义的 UI 初始化方法self.setWindowTitle('文本输入')  # 设置窗口的标题为 "文本输入"self.resize(800, 800)  # 设置窗口的大小为 800x800 像素self.move(555, 255)  # 设置窗口在屏幕上的位置,坐标为 (555, 255)def ui_init(self):# 初始化用户界面self.line_edit = QLineEdit(self)  # 创建一个 QLineEdit 实例,用于文本输入self.line_edit.setPlaceholderText("Enter something...")  # 设置占位符提示文本# 连接 'returnPressed' 信号到处理方法self.line_edit.returnPressed.connect(self.print_input)  # 当按下 Enter 键时调用 print_input 方法def print_input(self):# 获取输入框中的文本并打印到控制台input_text = self.line_edit.text()  # 获取当前输入的文本print(input_text)  # 输出到控制台if __name__ == '__main__':app = QApplication(sys.argv)  # 创建 QApplication 实例,传递命令行参数w = Wight()  # 创建 Wight 窗口实例w.show()  # 显示窗口app.exec()  # 进入应用程序主循环,等待事件处理

七、QPushButton与QTextBrowser与QLineEdit结合

         这是一个按钮、文本和文本输入结合使用的,它将会以注册账号,清除内容为主编写,然后将改账号密码储存到一个txt文本中。其中会添加注册账号时的一些限制

1、清除clear()

self.username_text.clear()
self.pwd_text.clear()

2、隐藏密码

self.pwd_text.setEchoMode(QLineEdit.Password)

3、验证器

int_valider=QtGui.QIntValidator()#整数验证器
# int_valider = QtGui.QRegExpValidator()#正则验证器
# int_valider = QtGui.QDoubleValidator()#浮点数验证器

reg_exp=QtCore.QRegExp("^\d{0,11}$")
reg_valider=QtGui.QRegExpValidator(reg_exp,self.username_text)
self.username_text.setValidator(reg_valider)
self.username_text.setValidator(int_valider)

python">import sys  # 导入 sys 模块以处理命令行参数和退出程序  
from PyQt5 import QtGui, QtCore  # 从 PyQt5 导入图形界面和核心功能模块  
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel, QMessageBox, QLineEdit  # 导入所需的 PyQt5 控件  class MyQwindow(QWidget):  # 定义一个名为 MyQwindow 的类,继承自 QWidget  def __init__(self):  super().__init__()  # 调用父类的构造函数,初始化父类的属性  self.setWindowTitle('标题---注册界面')  # 设置窗口的标题  self.resize(550, 240)  # 设置窗口的大小为 550x240 像素  self.move(1000, 500)  # 设置窗口在屏幕上的位置  self.uit_init()  # 调用用户界面初始化方法  self.slot_init()  # 调用信号与槽初始化方法  def uit_init(self):  # 初始化用户界面组件  self.username = QLabel('账号:', self)  # 创建一个标签用于显示“账号”  self.username.setGeometry(10, 20, 100, 50)  # 设置标签的位置和大小  self.username_text = QLineEdit(self)  # 创建一个 QLineEdit 用于输入用户名  self.username_text.setGeometry(80, 20, 220, 50)  # 设置输入框的位置和大小  self.username_text.setMaxLength(10)  # 设置输入的最大长度为 10  int_valider = QtGui.QIntValidator()  # 创建整数验证器,限制输入为整数  # int_valider = QtGui.QRegExpValidator()  # 这是正则表达式验证器# int_valider = QtGui.QDoubleValidator()  # 这是浮点数验证器reg_exp = QtCore.QRegExp("^\d{0,11}$")  # 定义一个正则表达式,支持 0 到 11 位数字  reg_valider = QtGui.QRegExpValidator(reg_exp, self.username_text)  # 创建正则表达式验证器  self.username_text.setValidator(reg_valider)  # 为用户名输入框设置正则验证器  self.username_text.setValidator(int_valider)  # 为用户名输入框设置整数验证器(此行会覆盖正则验证器)  self.username_btn = QPushButton(self)  # 创建一个按钮用于“注册”  self.username_btn.setText('注册')  # 设置按钮的文本为“注册”  self.username_btn.setGeometry(350, 20, 150, 50)  # 设置按钮的位置和大小  self.pwd = QLabel('密码:', self)  # 创建一个标签用于显示“密码”  self.pwd.setGeometry(10, 80, 100, 50)  # 设置标签的位置和大小  self.pwd_text = QLineEdit(self)  # 创建一个 QLineEdit 用于输入密码  self.pwd_text.setGeometry(80, 80, 220, 50)  # 设置输入框的位置和大小  self.pwd_text.setEchoMode(QLineEdit.Password)  # 设置输入框为密码模式,输入内容以星号形式显示  self.clear_btn = QPushButton(self)  # 创建一个按钮用于“清空”  self.clear_btn.setText('清空')  # 设置按钮的文本为“清空”  self.clear_btn.setGeometry(350, 80, 150, 50)  # 设置按钮的位置和大小  def slot_init(self):  # 初始化信号与槽的连接  self.username_btn.clicked.connect(self.reg_slot)  # 当“注册”按钮被点击时,连接到 reg_slot 方法  self.clear_btn.clicked.connect(self.clear_slot)  # 当“清空”按钮被点击时,连接到 clear_slot 方法  def reg_slot(self):  # 注册按钮的槽函数,处理注册逻辑  username = self.username_text.text()  # 获取用户名输入框中的文本  pwd = self.pwd_text.text()  # 获取密码输入框中的文本  # 验证输入  if username == '' and pwd == '':  QMessageBox.warning(self, '注册', '用户名或密码不能为空')  # 提示用户用户名和密码不能为空  elif 0 < len(username) < 10:  QMessageBox.warning(self, '注册', '用户名长度不符合标准')  # 提示用户用户名长度不符合标准  elif 0 < len(pwd) < 6:  QMessageBox.warning(self, '注册', '密码长度不符合标准')  # 提示用户密码长度不符合标准  else:  # 如果输入有效,将信息写入文件  with open('user.txt', 'a+', encoding='utf-8') as f:  info = f'账号:{username}, 密码:{pwd}\n'  # 格式化要写入的信息  f.write(info)  # 将信息写入文件  QMessageBox.warning(self, '注册', '恭喜你注册完成')  # 提示用户注册成功  def clear_slot(self):  # 清空输入框的槽函数  self.username_text.clear()  # 清空用户名输入框  self.pwd_text.clear()  # 清空密码输入框  if __name__ == '__main__':  app = QApplication(sys.argv)  # 创建 QApplication 实例,传递命令行参数  windows = MyQwindow()  # 创建 MyQwindow 窗口实例  windows.show()  # 显示窗口  sys.exit(app.exec_())  # 进入应用程序主循环,并确保程序正常退出

 

简易计算器 

python">from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QTextBrowser, QLabel, QMessageBox, QLineEdit
import sysclass MyQwindow(QWidget):def __init__(self):super().__init__()self.setWindowTitle('标题---计算器')self.resize(550, 280)self.move(1000, 500)self.uit_init()self.slot_init()def uit_init(self):self.inp = QLabel('输入:', self)self.inp.setGeometry(10, 20, 50, 50)self.inp_text = QLineEdit(self)self.inp_text.setGeometry(80, 20, 400, 50)self.inp_btn = QPushButton(self)self.inp_btn.setText('计算')self.inp_btn.setGeometry(100, 80, 150, 50)self.output = QTextBrowser(self)self.output.setGeometry(80, 160, 400, 100)self.clear_btn=QPushButton(self)self.clear_btn.setText('清空')self.clear_btn.setGeometry(300,80,150,50)def slot_init(self):self.inp_btn.clicked.connect(self.show_slot)self.clear_btn.clicked.connect(self.clear_slot)def show_slot(self):data = self.inp_text.text()self.output.setText(str(eval(data)))def clear_slot(self):self.inp_text.clear()if __name__ == '__main__':app = QApplication(sys.argv)windows = MyQwindow()windows.show()# app.exec()sys.exit(app.exec_())

 

八、修改文本中文字大小 

self.text2.setFont(QFont('Arial',25))

python">from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import QApplication, QWidget, QTextBrowser
import  sys
class Wight(QWidget):def __init__(self):super().__init__()self.ui_init()self.setWindowTitle('文本')self.resize(800,800)self.move(555,255)def ui_init(self):self.text=QTextBrowser(self)self.text.setGeometry(0, 0, 600, 100)self.text.setText('修改文字之前')self.text2=QTextBrowser(self)self.text2.setGeometry(0, 100, 600, 400)self.text2.setFont(QFont('Arial',25))self.text2.setText('修改文字之后')if __name__ == '__main__':app=QApplication(sys.argv)w=Wight()w.show()app.exec()

 

九、思维导图 


http://www.ppmy.cn/embedded/161805.html

相关文章

day 40 复习makefile以及51单片机

1.makefile 1.流程 1.将源文件和头文件以及库分别放在src include lib中 2.在源码目录下创建一个名为makefile的文件 3.编写makefile代码。 4.make编译 2.怎么编写代码 通过定义变量 将gcc main.c tree.c queue.c -o app -lm -lpthread 转换 1.定义变量&#xff08;所有变…

2025Java面试题超详细整理《微服务篇》

什么是微服务架构&#xff1f; 微服务框架是将某个应用程序开发划分为许多独立小型服务&#xff0c;实现敏捷开发和部署&#xff0c;这些服务一般围绕业务规则进行构建&#xff0c;可以用不同的语言开发&#xff0c;使用不同的数据存储&#xff0c;最终使得每个服务运行在自己…

Hyperledger caliper 性能测试

前言&#xff1a;Hyperledger caliper 的本质是使用node对被测试网络进行压力测试&#xff0c;因此需要nodejs。本次使用 Hyperledger caliper 0.5 对 fabric 1.4.6进行压测 准备条件&#xff1a;nodejs 16 &#xff08;略 linux下 解压环境变量即可&#xff09; # 创建工作…

Python解决“数字字符串千分位转化”问题

Python解决“数字字符串千分位转化”问题 问题样例 解决代码 问题 A在工作时遇到了一个问题&#xff0c;他需要将用户输入的不带千分位逗号的数字字符串转换为带千分位逗号的格式&#xff0c;并且保留小数部分。A还发现&#xff0c;有时候输入的数字字符串前面会有无用的 0&am…

JavaScript设计模式 -- 适配器模式

在软件开发中&#xff0c;经常会遇到这样的情况&#xff1a;现有的类或第三方库提供的接口与系统中期望的接口不匹配。如果直接修改已有代码风险较大或者不可行&#xff0c;这时适配器模式&#xff08;Adapter Pattern&#xff09;就能派上用场。适配器模式通过创建一个包装类&…

debian和ubuntu安装python3.8并修改默认python版本

下载python 获取python3.8源码 wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz 解压并进入python文件夹 tar -zxvf Python-3.8.0.tgz cd Python3.8.0 配置编译选项 ./configure 编译并下载 make && sudo make install ps&#xff1a;install…

如何使用Java语言在Idea和Android中分别建立服务端和客户端实现局域网聊天

手把手教你用Java语言在Idea和Android中分别建立服务端和客户端实现局域网聊天 目录 文章目录 手把手教你用**Java**语言在**Idea**和**Android**中分别建立**服务端**和**客户端**实现局域网聊天**目录**[toc]**基本实现****问题分析****服务端**Idea:结构预览Server类代码解…

java项目之基于SSM会议管理系统的设计与实现源码(ssm+mysql)

项目简介 基于SSM会议管理系统的设计与实现实现了以下功能&#xff1a; 基于SSM会议管理系统的设计与实现的主要使用者分为&#xff1a;管理员登录后修改个人的密码。用户管理中&#xff0c;对公司内的用户进行管理&#xff0c;包括会议管理员和员工&#xff0c;管理部门信息…