from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMainWindow, QApplication, QFileDialog
import sys
import _thread
import time
# 主体窗口ui
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1200, 600)
# 主题窗口最小尺寸,用于保持窗体尺寸不变
MainWindow.setMinimumSize(QtCore.QSize(1200, 600))
# 主题窗口最大尺寸,用于保持窗体尺寸不变
MainWindow.setMaximumSize(QtCore.QSize(1200, 600))
# 主窗口widge控件
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
# 显示导入图片的Label的控件
self.input_img = QtWidgets.QLabel(self.centralwidget)
self.input_img.setGeometry(QtCore.QRect(28, 85, 500, 500)) # 控件显示位置
self.input_img.setText("")
self.input_img.setScaledContents(True)
self.input_img.setAlignment(QtCore.Qt.AlignCenter)
self.input_img.setObjectName("input_img")
class Main(QMainWindow, Ui_MainWindow):
def __init__(self):
super(Main, self).__init__()
self.setupUi(self)
self.centralwidget.setAutoFillBackground(True)
if __name__ == '__main__':
app = QApplication(sys.argv)
main = Main()
main.show()
sys.exit(app.exec_())
可能是由于没有设置窗口的背景色或者布局导致的。
可以在 setupUi() 函数中,为主窗口的 centralwidget 设置背景色,例如:
self.centralwidget.setStyleSheet("background-color: white;")
或者在主窗口的构造函数 init() 中,为主窗口的 centralwidget 设置布局,例如:
self.centralwidget.setLayout(QtWidgets.QVBoxLayout())
可以使用 Qt Designer 工具来帮助设计 UI 界面,然后使用 pyuic5 工具将设计好的 UI 文件转换为 Python 代码,这样编写 UI 界面很方便。
你的控件没有添加到布局里面
self.input_img.setText("你好") #要不看不到效果
main_layout=QHBoxLayout()
self.centralwidget.setLayout(main_layout)
main_layout.addWidget(self.input_img)
建议去学习下如何布局