2017-09-22 46 views
0

QT Designerを使用してファイルを作成し、背景画像をアップロードしました。このファイルは正常に動作し、画像はバックグラウンドで表示されます。 ただし、ファイルがメインファイルにインポートされるとき、イメージは正しくバックグラウンドで表示されません。PYQT背景画像が正しく表示されない

とプロジェクトのリンク https://github.com/ahmedlam3y/GarageSystem

+0

私はあなたが助けることができると思います https://stackoverflow.com/users/6622587/eyllanesc –

答えて

1

それがメインウィンドウではありませんが、それは正しく 働くので、画像が背景に見えなかったし、ウィジェットの一つは、メインウィンドウに設定されているので、それはウィジェットなのでソリューションのコード:

import sys 
from PyQt5.QtCore import QSize 
from PyQt5 import QtCore, QtGui, QtWidgets as Q 
from PyQt5.QtGui import QImage, QPalette, QBrush 
from PyQt5.QtWidgets import * 

import image_rc 
from SignIN import Ui_Form as SignInForm 
from WelFrame import Ui_Form as WelFrameForm 
from SignUp import Ui_Form as SignUpForm 
from Accounting import Ui_Form as AccountForm 


class SignIn(Q.QWidget, SignInForm): # Widget 
    def __init__(self, parent=None): 
     super(SignIn, self).__init__(parent) 
     Q.QWidget.__init__(self, parent) 
     self.setupUi(self) 
     oImage = QImage("GTR.png") 
     sImage = oImage.scaled(QSize(600, 360)) # resize Image to widgets size 
     palette = QPalette() 
     palette.setBrush(10, QBrush(sImage)) # 10 = WindowRole 
     self.setPalette(palette) 


class WelFrame(Q.QMainWindow, WelFrameForm): # MainWindow 
    def __init__(self, parent=None): 
     Q.QWidget.__init__(self, parent) 
     self.setupUi(self) 


class SignUp(Q.QWidget, SignUpForm): # Widget 
    def __init__(self, parent=None): 
     Q.QWidget.__init__(self, parent) 
     self.setupUi(self) 
     oImage = QImage("GTR.png") 
     sImage = oImage.scaled(QSize(600, 360)) # resize Image to widgets size 
     palette = QPalette() 
     palette.setBrush(10, QBrush(sImage)) # 10 = WindowRole 
     self.setPalette(palette) 


class Accout(Q.QWidget, AccountForm): # Widget 
    def __init__(self, parent=None): 
     Q.QWidget.__init__(self, parent) 
     self.setupUi(self) 
     oImage = QImage("GTR.png") 
     sImage = oImage.scaled(QSize(600, 360)) # resize Image to widgets size 
     palette = QPalette() 
     palette.setBrush(10, QBrush(sImage)) # 10 = WindowRole 
     self.setPalette(palette) 


def foo(w1, w2): 
    w1.show() 
    w2.hide() 


if __name__ == '__main__': 
    app = Q.QApplication(sys.argv) 
    wel = WelFrame() 
    signIn = SignIn() 
    signUp = SignUp() 
    accout = AccountForm() 
    wel.pushButton_2.clicked.connect(lambda: foo(signIn, wel)) 
    wel.pushButton.clicked.connect(lambda: foo(signUp, wel)) 
    signIn.pushButton_2.clicked.connect(lambda: foo(wel, signIn)) 
    signUp.pushButton_2.clicked.connect(lambda: foo(wel, signUp)) 
    wel.show() 
    sys.exit(app.exec_()) 
関連する問題