我正在制作一个可编辑的流程图,但我在使用Qt时遇到了很多概念上的问题。我已经尝试了许多不同的方法来实现类,包括QTreeWidget、QTableWidget,以及仅使用一堆简单的QPushButtons。理想情况下,我希望有一个设置,我可以在其中右键单击流程的每一部分并对其进行编辑。除了具有拖放功能以重新排列流程中的对象。试图找到一个我可以一起使用的类/类组来实现这一目标一直很困难。哪些类最适合此应用程序;特别是GUI类?编辑的实际内容不应该与我正在寻找我可能错过的建议或方法的GUI相关。除了功能之外,它不必看起来那么花哨;矩形和直线就足够了。到目前为止,我知道如何使用和实现cont
我正在尝试在Qt中编写战舰的实现,我正在使用两个QGridLayouts来包含用于表示玩家网格的QToolButtons。顶层布局(QMainWindows之一)是QHBoxLayout。我想要完成的是删除这些按钮之间的间距。这是它现在的样子:它绝对不漂亮。我正在像这样将项目添加到这些布局中:QIconicon;icon.addFile(QStringLiteral(":/images/Resources/field_blue.png"),QSize(),QIcon::Normal,QIcon::Off);for(inti=0;isetToolButtonStyle(Qt::ToolB
我试图在我的Qt应用程序中使用简单的拖放功能。这是我的代码:MyWindow::MyWindow(QWidget*parent){..........setAcceptDrops(true);}voidMyWindow::dragEnterEvent(QDragEnterEvent*e){if(e->mimeData()->hasUrls()){e->acceptProposedAction();}}voidMyWindow::dropEvent(QDropEvent*e){foreach(constQUrl&url,e->mimeData()->urls()){constQStrin
如何将信号或槽(成员函数,Qt5中的新语法)作为参数传递给函数,然后调用connect?例如我想编写一个等待信号的函数。注意:它不是编译-PointerToMemberFunction是我的问题。boolwaitForSignal(constQObject*sender,PointerToMemberFunction???signal,inttimeOut=5000/*ms*/){if(sender==nullptr)returntrue;boolisTimeOut=false;QEventLooploop;QTimertimer;timer.setSingleShot(true);Q
我有一个恼人的问题。我创建了QVBoxLayout,并在上面添加了我的小部件。这是我的构造函数中的示例:layout=newQVBoxLayout;layout->setMargin(0);layout->setContentsMargins(QMargins(0,0,0,0));layout->setSpacing(0);然后我有添加小部件的功能。layout->addWidget(_wave);_wave是我自己的小部件。但是你可以添加任何你想要的,例如QButton。我想要达到什么目的?Similarlikethis但在添加到布局的小部件之间没有任何空格。只有QButtons或其
我的事件过滤器存在根本性错误,因为它让每个单个事件通过,而我想停止一切。我已经阅读了很多关于QEvent、eventFilter()等的文档,但显然我遗漏了一些重要的东西。本质上,我正在尝试基于QDialog为我的弹出窗口类创建我自己的模态功能。我想实现我自己的,因为内置的setModal(true)包含很多功能,例如正在播放我想排除的QApplication::Beep()。基本上,我想丢弃所有转到创建弹出窗口的QWidget(窗口)的事件。到目前为止,我所拥有的是,//popupdialog.h#ifndefPOPUPDIALOG_H#definePOPUPDIALOG_H#inc
我一直在尝试将快捷方式设置为Ctrl+Shift+C。我试过以下方法:QAction*generalControlAction=newQAction(this);generalControlAction->setShortcut(QKeySequence("Ctrl+Shift+c"));connect(generalControlAction,&QAction::triggered,this,&iBexWorkstation::onGeneralConfiguration);QShortcut*generalControlShortcut=newQShortcut(QKeySeque
我正在使用QTQML开发应用程序。我在使用QML时遇到了一个奇怪的问题。我想使用QML分割和显示长文本。我正在使用QTText执行此任务的元素。我想将此文本放在QTColumnlayout中与其他UI元素。我无法将长文本显示为多行文本。请帮我解决这个问题。这是我的QML代码。importQtQuick2.7importQtQuick.Controls2.0importQtQuick.Layouts1.0ApplicationWindow{visible:truewidth:640height:480title:qsTr("HelloWorld")color:"#18d28a"Colum
我正在尝试在另一台计算机上运行我的Qt应用程序(它在我开发它的地方完美运行)。当我通过终端启动此应用程序时,出现此错误-QXcbConnection:XCBerror:148(Unknown),sequence:175,resourceid:0,majorcode:140(Unknown),minorcode:20我的程序确实启动并且一切看起来都正常,但是当我运行它时,我在与显示器交互时看到了奇怪的行为(一些绘画命令没有被执行,这对我的应用程序至关重要)。我已经尝试搜索此错误,但到目前为止我找不到任何解决方案。你有什么建议吗?使用ubuntu16.04,Nvidia1050GTXGPU
我正在尝试使用QtDesigner在QtCreator中创建一个自定义小部件(它本身包含一些子小部件)。在设计器中,我将派生对象ControlBar的styleSheet属性设置为以下值:QWidget{font-family:"SegoeUI";font-size:9;}QWidget#ControlBar{background-color:#3a3a3a;border-width:5px;border-radius:4px;border-style:solid;border-color:#ffffff;}现在在设计器和预览模式(Shift+Alt+R)中一切看起来都很好。我现在的意