Sure, it is better to post the code.
Regards
Sure, it is better to post the code.
Regards
Dear Marcel
Now i am at home....:-)
I tried to attach complete code but it is big. So i am attaching five files. "This code is similar to the example in QT4.3 examples but a little difference"
Explanation :- The application has buttons on the left when the user click any button and then click in the screen window the polygon is pasted there whose picture was displayed on the button clicked. But i want that polygons in DiagramItems works as different gates and i can add any number of connectors at run time to that. But standard are one input and two output connectors(polygon) with a gate(Polygon).
So i created a class "Gate.cpp" (Attached) which contains AndItem class which creates a polygon works as connector to gate and i tried to create a run time object of AndItem class mentioned in "Gate.cpp" file in the constructor of the DiagramItem class which creates diffrent types. Now if the user click the button and then click the screen window there are two polygon pasted which will together as Gate polygon and connector polygon. Then i will modify for connecting two polygons with arrow.
I am new to Qt and any help ,i will take it gladly.
Thanks for your guidance Marcel.
Sorry if i give you any trouble.
Rohit
Hello,
I assume you are trying to make some kind of electronic circuits designer.
I'm afraid that your approach is a little too simple.
You should keep account of your ports.
For example, let's say you have an AND port in the scene.
Next, you add an OR port and you want to connect it to the output of the AND port.
Initially the OR port will be placed somewhere in the scene. You drag it with the mouse and when you are near the output of the and the OR will snap to the AND port and automatically a connector will be created.
By snap I mean that one input of the OR port will be aligned to the output of the AND gate.
If you drag it further the connector disappears.
All I am trying to say is that your app should be more interactive.
Keeping account of the items is not hard. You always can access them via QGraphicsScene::items.
When you drag a port you just look at the other items near it, to see if you can connect to one of the them ( maybe define a snap distance ).
Regards
rohitjun (9th May 2007)
Thanks alot for such a precious reply Marcel
You are perfectly right that i am trying ot build a electronic desing application.
yes i completely agree with you that my application should be more interactive.
But the ports will not be attached automatically when they come near to each other.The user has to click one of the connector output of the "suppose" OR port and the drag the mouse till the inut connector of "suppose" And port. Then the connection between the two ports will be established.
I thought of a approach, " When the user put a port on the scene then it will have one input and two output connector. But if the user wish to add or delete any connector he has to right click and then add or delete the connector through pop up menu. So in the begining i am trying to create a Port with connectors which user can put on the scene window. Connector polygon will handle the wiring between ports."
Please give some suggestions on it.
If you think , i am wrong way, please tell any other approach.
Regards
Rohit
Dear Marcel
Good morning
I tried to make two polygons join together. But setPos,moveBy doesnt work for me as well as i tried to combine directly when i use setPolygon(First polygon+ second polygon) function but this create one polygon over another.
Now i am thinking of not to use connector class. I think i can set some points on the Port(AND) itself which can be used to connect to other ports. It means any port will connect to new port with a new point for wiring whenever the user will wire to a new port.
Please suggest,
Rohit
Bookmarks