【问题标题】:Qprogressbar stop slidingQprogressbar 停止滑动
【发布时间】:2012-12-10 15:40:05
【问题描述】:

对于我正在开发的 Python 应用程序,我需要使用 QT 4.7 显示一个滑动进度条,我可以做到,但它仅在 QmessageBox 可见时滑动,这非常令人讨厌,我尝试了很多在没有消息框的情况下保持滑动的不同方法没有任何成功,我在互联网上没有找到任何关于它的信息;这是我显示栏的代码:

    d=QtGui.QMainWindow()
    screen = QtGui.QDesktopWidget().screenGeometry()
    size =  self.progressBar.geometry()
    self.progressBar.move((screen.width()/2)-size.width()/2,(screen.height()/2)-size.height()-100)
    self.progressBar.show()

为了让它动起来,我必须添加这个:

        d=QtGui.QMainWindow()
        infoString="sto creando mmasgisDB!"
        QtGui.QMessageBox.information(d,"Info", infoString)

只要我点击确定按钮,栏就会冻结。所以我认为有一些我不知道的与 QMainWindow 相关的东西,我需要更专家的帮助。

【问题讨论】:

    标签: python pyqt


    【解决方案1】:

    您是否尝试过创建一个QMessageBox 并将其分配给一个变量,就像您在主窗口中所做的那样。然后QMessageBox.setInformation() 设置你想要的字符串。之后你可以试试QMessageBox.execute()

    您也可以尝试使用activate()show() QMessageBox 机制。我希望它对 PyQT 也一样。

    【讨论】:

      【解决方案2】:

      如果您希望您的小部件在另一个小部件中正确显示,您必须将它们添加到布局中:

      #!/usr/bin/env python
      #-*- coding:utf-8 -*-
      
      import sip
      sip.setapi('QString', 2)
      sip.setapi('QVariant', 2)
      
      from PyQt4.QtCore import *
      from PyQt4.QtGui import *
      
      class windowSlider(QMainWindow):
          def __init__(self, parent=None):
              super(windowSlider, self).__init__(parent)
      
              self.centralwidget = QWidget(self)
      
              self.progressBar = QProgressBar(self.centralwidget)
              self.progressBar.setValue(24)
      
              self.horizontalSlider = QSlider(self.centralwidget)
              self.horizontalSlider.setOrientation(Qt.Horizontal)
      
              self.verticalLayout = QVBoxLayout(self.centralwidget)
              self.verticalLayout.addWidget(self.progressBar)
              self.verticalLayout.addWidget(self.horizontalSlider)
      
              self.setCentralWidget(self.centralwidget)
      
      if __name__ == "__main__":
          import  sys
      
          app = QApplication(sys.argv)
          main = windowSlider()
          main.show()
          sys.exit(app.exec_())
      

      【讨论】:

        猜你喜欢
        • 2017-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-13
        • 1970-01-01
        • 2018-05-18
        相关资源
        最近更新 更多