【PyQT5】PyQT5通用功能设置

原文作者:我辈李想
版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。


文章目录

  • 前言
  • 一、登录界面窗体去边框
  • 二、窗口最大化
  • 三、显示图片
  • 四、按钮默认点击
  • 五、背景颜色
  • qt designer 背景渐变
  • qt designer 字体白色


前言


一、登录界面窗体去边框

要去掉 PyQt5 窗体的边框,可以使用 setWindowFlag 方法来实现。示例代码如下:

from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtCore import Qt


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        # 设置窗体属性
        self.setWindowFlags(Qt.FramelessWindowHint)

        # 设置窗体背景透明
        self.setAttribute(Qt.WA_TranslucentBackground)

        # 设置窗体大小和位置
        self.setGeometry(100, 100, 500, 400)


if __name__ == '__main__':
    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec_()

在上面的代码中,我们使用 setWindowFlags 方法设置了窗体标志,这里的 Qt.FramelessWindowHint 表示去掉窗体边框。然后使用 setAttribute 方法设置了窗体背景透明。最后使用 setGeometry 方法设置了窗体的大小和位置。这样就可以实现一个没有边框的 PyQt5 窗体了。

二、窗口最大化

您可以使用代码实现Qt Designer创建的UI窗口最大化功能。您需要做以下几件事:

  1. 添加一个按键或菜单项来触发最大化操作。
  2. 在槽函数中使用showMaximized()函数来最大化窗口。

下面是示例代码:

from PyQt5.QtWidgets import QMainWindow, QApplication, QAction

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        # 创建一个菜单栏项和按键来触发最大化操作
        menu_bar = self.menuBar()
        view_menu = menu_bar.addMenu('View')
        max_action = QAction('Maximize', self)
        max_action.triggered.connect(self.maximizeWindow)
        view_menu.addAction(max_action)

        # 设置窗口初始大小和位置
        self.setGeometry(100, 100, 400, 300)
        self.setWindowTitle('Maximize Window Example')

        self.show()

    def maximizeWindow(self):
        # 最大化窗口
        self.showMaximized()

if __name__ == '__main__':
    app = QApplication([])
    window = MyWindow()
    app.exec_()

在这个示例中,我们创建了一个菜单栏项和按键来触发最大化操作。当用户点击“Maximize”菜单项或按键时,会调用maximizeWindow()槽函数,从而最大化窗口。

三、显示图片

如果在Qt Designer中选择的图片文件在预览时正常显示,但是在运行时不显示,请检查以下几个可能导致问题的原因:

  1. 图片文件的路径不正确。请确保在Qt Designer中选择的图片文件路径正确,并且文件名拼写没有错误。如果您使用的是相对路径,请确保该文件在正确的位置。另外,在运行时,需要使用相对于可执行文件的路径。

  2. 图片文件的格式不正确。请确保您的图片文件是Qt支持的格式,比如bmp、gif、jpg、png等。

  3. 代码中没有正确设置图片。如果您使用的是代码方式将图片添加到Qt项目中,请确保您在代码中正确设置了图片,例如使用QPixmap将图片加载到QLabel或QWidget中,并通过setPixmap()方法设置为窗口的背景。

  4. 图片太大。如果您的图片文件过大,可能会导致在运行时无法正常显示。请尽可能缩小图片文件的大小。

如果以上方法都无法解决问题,请尝试重新添加一张图片文件,或者使用另一种图片格式。

在Qt Designer中,可以通过如下步骤来设置背景图片:

  1. 在窗口中添加一个 QLabel 控件,并将其大小调整为窗口大小。如果您的窗口中已经存在一个 QLabel 控件,您可以直接使用它。

  2. 将要作为背景的图片复制到项目中,并将其添加到资源文件中。右键点击项目,选择 Add New... -> Qt -> Qt Resource File,并将图片文件拖动到资源文件中。

  3. 打开 QLabel 控件的属性编辑器。在 Pixmap 属性处单击下拉箭头,然后选择 Choose File,在弹出的对话框中选择要用作背景的图片。

  4. Scaled Contents 属性处选择 True,表示将自动缩放并平铺图片以适应控件大小。

  5. Alignment 属性处选择 AlignCenter,表示将以控件中央的点为基准对齐图片。

  6. Minimum Size 属性处将 widthheight 设置为 0,表示不限制控件的大小。

  7. 点击 Apply 按钮,然后点击 OK 按钮,保存更改并关闭属性编辑器。

这样,就可以在 Qt Designer 中将一张图片作为窗口的背景了。

四、按钮默认点击

要在 Qt Designer 中设置默认按钮,可以按照以下步骤进行操作:

  1. 将您的默认按钮放置在适当的位置。

  2. 选中您的默认按钮。

  3. 在属性编辑器中,找到“default”属性,并将其设置为“True”。

  4. 如果您希望在使用“Enter”键时该按钮被触发,请确保此按钮为所在窗体的默认按钮。要设置窗体的默认按钮:

  • 选中您的窗口。

  • 在属性编辑器中,找到“defaultButton”属性,将其设置为您的默认按钮。

  1. 保存您的 UI 文件并退出 Qt Designer。

这里是一个示例代码,演示如何在 Python 中将窗体的默认按钮设置为“OK”按钮:

from PyQt5.QtWidgets import QApplication, QDialog, QPushButton

class MyDialog(QDialog):
    def __init__(self):
        super().__init__()

        # 创建默认按钮
        self.ok_button = QPushButton("OK", self)
        self.ok_button.setDefault(True)

        # 将按钮添加到对话框
        layout = self.layout()
        layout.addWidget(self.ok_button)

        # 设置默认按钮
        self.setDefaultButton(self.ok_button)

    def setDefaultButton(self, button):
        # 将按钮设置为对话框的默认按钮
        self.enterButton = button
        self.enterButton.setAutoDefault(True)
        self.enterButton.setDefault(True)


if __name__ == "__main__":
    app = QApplication([])
    dialog = MyDialog()
    dialog.show()
    app.exec_()

在这个示例中,我们使用 QPushButton 类创建默认按钮,并使用 setDefault 方法将其设置为默认按钮。然后,我们使用自定义的 setDefaultButton 方法将按钮设置为对话框的默认按钮。

五、背景颜色

如果您需要在Qt Designer中设置控件的背景颜色,可以按照以下步骤操作:

  1. 打开Qt Designer并加载您的UI文件。

  2. 在右侧的“属性编辑器”窗口中,找到您想要更改背景颜色的控件。

  3. 展开“样式表”属性,并单击“编辑”。

  4. 在弹出的“编辑样式表”对话框中,输入以下代码来设置控件的背景颜色:

background-color: 颜色代码;

请将“颜色代码”替换为您想要的颜色代码,例如红色可以使用“#ff0000”。

  1. 单击“确定”保存更改。

  2. 保存您的UI文件并关闭Qt Designer。

现在,您的控件的背景颜色应该已经更改为您指定的颜色。

qt designer 背景渐变

qt designer 字体白色

如果您需要在Qt Designer中设置字体的颜色为白色,您可以按照以下步骤操作:

  1. 打开Qt Designer并加载您的UI文件。

  2. 在右侧的“属性编辑器”窗口中,找到您想要更改字体颜色的控件。

  3. 展开“字体”属性,并单击“颜色”下拉框。

  4. 在弹出的颜色选择器中,选择白色。

  5. 单击“确定”保存更改。

  6. 保存您的UI文件并关闭Qt Designer。

现在,您的控件的字体颜色应该已经更改为白色。

你可能感兴趣的:(Pyqt5全家桶,python,qt5)