10 인치 터치 스크린에서 실행할 수없는 응용 프로그램이 있습니다. QSlider 핸들을 더 크게 조정하여 이동하기가 쉽습니다. 스타일 시트에 핸들 폭을 변경하는 예는 있지만, 변경 사항이 반영되지 않습니다을 나는 코드를 실행하면. 내가 여기 PyQt5 디자이너를 사용하고 오전 여기.스타일 시트를 사용하여 QSlider 핸들 너비를 변경하는 방법
QSlider::groove:horizontal {height: 10px; margin: 0 0;}
QSlider::handle:horizontal {background-color: black; border: 1px; height:
40px; width: 40px; margin: 0 0;}
슬라이더의 스타일 시트입니다입니다 주 프로그램 :
from Slidertest import Ui_MainWindow
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
class RPTApp(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(RPTApp, self).__init__(parent)
self.setupUi(self)
def main():
app = QApplication(sys.argv)
window = RPTApp()
window.show()
app.exec_()
if __name__ == '__main__':
main()
다음은 슬라이더의 디자이너 코드입니다.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(640, 480)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.PS_timeSlider = QtWidgets.QSlider(self.centralwidget)
self.PS_timeSlider.setGeometry(QtCore.QRect(100, 100, 371, 50))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.PS_timeSlider.sizePolicy().
hasHeightForWidth())
#needed to add a return and break the line above
self.PS_timeSlider.setSizePolicy(sizePolicy)
self.PS_timeSlider.setBaseSize(QtCore.QSize(0, 0))
font = QtGui.QFont()
font.setPointSize(12)
font.setKerning(False)
self.PS_timeSlider.setFont(font)
self.PS_timeSlider.setFocusPolicy(QtCore.Qt.WheelFocus)
self.PS_timeSlider.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
self.PS_timeSlider.setToolTip("")
self.PS_timeSlider.setStatusTip("")
self.PS_timeSlider.setWhatsThis("")
self.PS_timeSlider.setAccessibleName("")
self.PS_timeSlider.setAccessibleDescription("")
self.PS_timeSlider.setStyleSheet("QSlider::groove:horizontal
{height: 10px; margin: 0 0;}\n"
"QSlider::handle:horizontal {background-color: black; border: 1px; height:
40px; width: 40px; margin: 0 0;}\n"
"")
self.PS_timeSlider.setMinimum(0)
self.PS_timeSlider.setMaximum(100)
self.PS_timeSlider.setSingleStep(1)
self.PS_timeSlider.setPageStep(5)
self.PS_timeSlider.setProperty("value", 50)
self.PS_timeSlider.setSliderPosition(50)
self.PS_timeSlider.setTracking(True)
self.PS_timeSlider.setOrientation(QtCore.Qt.Horizontal)
self.PS_timeSlider.setInvertedAppearance(False)
self.PS_timeSlider.setInvertedControls(False)
self.PS_timeSlider.setTickPosition(QtWidgets.QSlider.TicksBothSides)
self.PS_timeSlider.setTickInterval(1)
self.PS_timeSlider.setObjectName("PS_timeSlider")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 640, 26))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
나는 내 검색에서 찾은 모든 것을 시도했지만 운이 없었습니다. 당신이 제공 할 수있는 도움을 주시면 감사하겠습니다.
감사합니다. 나는 어제부터 이걸 놓쳤다. – Mike