|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 清風 于 2024-2-10 22:45 编辑
import sys
from PySide6.QtWidgets import QApplication, QDialog, QVBoxLayout, QLabel, QLineEdit, QPushButton, QMessageBox
from PySide6.QtCore import QDir, QStorageInfo
from PySide6.QtWidgets import QComboBox
class LoginDialog(QDialog):
def __init__(self):
super().__init__()
self.setWindowTitle("用户登录")
layout = QVBoxLayout()
account_label = QLabel("帐号:")
self.account_edit = QLineEdit()
layout.addWidget(self.password_edit)
# 在这里实现验证逻辑,验证帐号密码是否正确
if account == "admin" and password == "123456":
self.accept()
else:
print("用户名或密码错误!")
# 获取所有逻辑驱动器,并添加作为选项
drives = [drive.device() for drive in QStorageInfo.mountedVolumes()]
main_dialog.folder_combo = QComboBox()
main_dialog.folder_combo.addItems(drives)
layout = QVBoxLayout()
layout.addWidget(QLabel("选择逻辑驱动器:"))
layout.addWidget(main_dialog.folder_combo)
main_dialog.setLayout(layout)
main_dialog.show()
sys.exit(app.exec())
运行后 下拉驱动器框,没有可选择内容。(就是看不到本机的C:\ d:\ 这些,选择框是空的。
非常抱歉,看起来您使用的是PySide6库的旧版本,该版本不支持`QStorageInfo.mountPoints()`方法。为了获取逻辑驱动器,您可以尝试使用`QDir.drives()`方法来替代。以下是修改后的代码:
- import sys
- from PySide6.QtWidgets import QApplication, QDialog, QVBoxLayout, QLabel, QComboBox
- from PySide6.QtCore import QDir
- if __name__ == "__main__":
- app = QApplication(sys.argv)
- main_dialog = QDialog()
- main_dialog.setWindowTitle("主界面")
-
- drives = QDir.drives() # 获取所有逻辑驱动器
-
- main_dialog.folder_combo = QComboBox()
- main_dialog.folder_combo.addItems([drive.path() for drive in drives])
-
- layout = QVBoxLayout()
- layout.addWidget(QLabel("选择逻辑驱动器:"))
- layout.addWidget(main_dialog.folder_combo)
- main_dialog.setLayout(layout)
- main_dialog.show()
-
- sys.exit(app.exec())
复制代码
现在运行程序,下拉框应该会显示所有的逻辑驱动器路径。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
|
|