|  | 
 
| 
本帖最后由 清風 于 2024-2-10 22:45 编辑
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 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 小助理,如未能正确解答您的问题,请继续追问。 | 
 |