对于我正在使用的Python应用程序,我需要用QT 4.7来显示一个滑动progressBar,我可以做到,但它只是滑动到目前为止QmessageBox可见,它非常令人着迷,我试过很多不使用messageBox保持滑动的不同方法没有任何成功,我在互联网上没有找到任何关于它的内容;这是我显示条形码的代码:
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相关的东西,我需要更专家的帮助。
答案 0 :(得分:0)
您是否尝试创建QMessageBox
并将其分配给变量,就像您为主窗口所做的那样。然后QMessageBox.setInformation()
设置你想要的字符串。之后,您可以尝试QMessageBox.execute()
。
您也可以尝试QMessageBox的activate()
和show()
机制。我希望它对PyQT也一样。
答案 1 :(得分:0)
如果您希望小部件在另一个小部件中正确显示,则必须将它们添加到布局中:
#!/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_())