如何在Pyqt中单击按钮时替换框架中的内容

时间:2014-11-14 15:49:17

标签: python pyqt pyqt4

所以我有两个框架,第一个框架包含所有的标题元素,第二个框架包含一个带有两个按钮的图像。这是我的第一个屏幕的内容。现在当我点击按钮时,第二帧中的内容应该替换为.py文件,该文件有一个属性列表。第一帧内容在所有屏幕中都是相同的,只有第二帧应该在改变。这个是第一个屏幕的代码:

import sys
import os
import taurus
from PyQt4 import QtCore, QtGui, uic
from taurus.external.qt import Qt
from taurus.qt.qtgui.panel import TaurusForm
from taurus.qt.qtgui.application import TaurusApplication

form_class = uic.loadUiType("FirstScreen.ui")[0]                 # Load the UI
try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    _fromUtf8 = lambda s: s

class MyWindowClass(QtGui.QMainWindow, form_class):
    def __init__(self, parent=None):
        QtGui.QMainWindow.__init__(self, parent)
        self.setupUi(self)
        #self.editValue.clicked.connect(self.openForm_clicked)
        self.setWindowTitle('FirstScreen')
        self.button1.setStyleSheet("QPushButton { background-color:#00FFFF;}")
        self.dateTime.setText(QtCore.QDate.currentDate().toString())
        self.timeLabel.setText(QtCore.QTime.currentTime().toString())
        self.button2.setStyleSheet("QPushButton { background-color:#00FFFF;}")
        myPixmap = QtGui.QPixmap(_fromUtf8('Sample.png'))
        myPixmap=myPixmap.scaledToHeight(100)
        self.pic.setPixmap(myPixmap)





app = QtGui.QApplication(sys.argv)
myWindow = MyWindowClass(None)
myWindow.show()
app.exec_()

您是否可以让我知道如何在按钮点击时使用.py文件加载第二帧。我尝试加载的另一个.py文件也是使用Pyqt。

创建的

1 个答案:

答案 0 :(得分:0)

您可以使用signals and slots。即使用点击信号并调用函数,例如:onClick。

<强> self.button_name.clicked.connect(self.onClick)

在函数调用中

            self.second_frame = second_ui_class()
            self.second_frame.show()